[Javalist] Spring kerdesek
Böszörményi Péter
zmblevlist at gmail.com
2012. Jún. 4., H, 19:15:38 CEST
Meg lehetne tekinteni, hogy pontosan hogyan nez ki az xml, mik, es hogyan
lettek annotalva, milyen csomagokban vannak az osztalyok?
On Mon, 04 Jun 2012 17:49:29 +0200, zamek <zamek at vili.pmmf.hu> wrote:
> hello,
>
> 06/04/2012 04:02 PM keltezéssel, cx.chico írta:
>> @Autowired vagy @Resource :)
>>
>> A példa:
>>
>> @Component
>> public class PollingService {
>> }
>>
>> @Service("getDeviceData")
>> public class DeviceServiceImpl extends RemoteServiceServlet implements
>> DeviceService {
>>
>> @Autowired
>> private PollingService pollingService;
>>
>> (...)
> Ezt probaltam, nem mukodott:
>
> Could not autowire field: com.zamek.monitor.gwt.server.PollingService
> com.zamek.monitor.gwt.server.device.communication.DeviceServiceImpl.pollingService;
> nested exception is
> org.springframework.beans.factory.NoSuchBeanDefinitionException: No
> matching bean of type [com.zamek.monitor.gwt.server.PollingService]
> found for dependency: expected at least 1 bean which qualifies as
> autowire candidate for this dependency. Dependency annotations:
> {@org.springframework.beans.factory.annotation.Autowired(required=true)}
>
> A PollingService-ben meg kellene valami?
>> Az @Autowired annotáció típus alapján működik, ha jól emlékszem, akkor
>> az AOP proxy miatt lehet, hogy interface-t kell megadni.
>> A @Scope("prototype") azt jelenti, hogy minden új session-ben
>> automatikusan létrejön egy ilyen példány. Ha nem kezelsz session-t
>> (userek) nincs rá szükséged, csak bajt csinál.
>>
>> Mivel az alkalmazásban már van egy @Service, szerintem megoldható a
>> feladat helper-ként is:
>>
>> @Service("getDeviceData")
>> public class DeviceServiceImpl extends RemoteServiceServlet implements
>> DeviceService {
>>
>> private PollingService pollingService = new PollingService();
>>
>> (...)
>>
> Az nem jo, az kellene, hogy a PollingService allandoan letezzen pontosan
> egy peldanyban, ez a hatterben egy szalban lekerdezi a plc-ket. Ezt
> kerdezgeti a DeviceServiceImpl, amikor egy kliens akarja.
>
> EJB-ben ez igy nez ki:
>
> A PollingSevice egy @Singleton annotacioval keszult Bean.
> A @PostConstruct metodusaban indit egy timert, aminek a lejartakor
> vegigkerdezi a plc-ket, majd ujrahuzza magat.
>
--
Üdvözlettel,
Böszörményi Péter
További információk a(z) Javalist levelezőlistáról