[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