Enterprise Java Bean - problem z referencja

0

Witam

Kiedy utworze aplikacje (w NetBeans) korzystajaca z jednego ziarnka wszystko dziala poprawnie. Problem pojawia sie gdy do tego ziarnka dodam referencje do innego ziarnka.

Kiedy do ziarnka dodam:

    @EJB
    private static MessageLocal message;

Gdzie MessageLocal jest interfejsem ziarnka Message z dostepem lokalnym.
Dostaje:

2009-11-14 21:04:48 com.sun.enterprise.appclient.MainWithModuleSupport <init>
WARNING: ACC003: Application threw an exception.
com.sun.enterprise.InjectionException: Exception attempting to inject Resolved Ejb-Ref enterpriseapplication7.Tester/rem2@jndi: app.ejb.UserRemote - > UserBean into class enterpriseapplication7.Tester
        at com.sun.enterprise.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:387)
        at com.sun.enterprise.util.InjectionManagerImpl.inject(InjectionManagerImpl.java:206)
        at com.sun.enterprise.util.InjectionManagerImpl.injectClass(InjectionManagerImpl.java:144)
        at com.sun.enterprise.util.InjectionManagerImpl.injectClass(InjectionManagerImpl.java:136)
        at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:420)
        at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:259)
        at com.sun.enterprise.appclient.Main.main(Main.java:200)

Co jest tego przyczyna?

0

usuń static

0

O dzieki dziala!

Moglbys mi jeszcze wyjasnic dlaczego jesli jest static to nie dziala? Generalnie inne ziarnka tez maja wpisane static przy referencji i dziala. Problem byl tylko gdy w ziarnku odwolywalem sie do innego ziarnka.

0

istnieją klasy... i obiekty jako instancje tych klas...
można to tutaj rozumieć jako że klasa to jest szablon/rodzaj.
pola i metody statyczne należą tylko do tego szablonu, czyli klasy, zaś pola i metody nie-statyczne należą do każdego obiektu osobno...
Powiedzmy, ze klasa Rower ma pole statyczne defaultSpeed i pole nie-statyczne speed:
w tej sytuacji defaultSpeed nalezy do samej klasy i jest tylko jedno dla wszystkich obiektow tej klasy, a pole speed ma każdy rower swoje własne - dwa różne rowery mogą mieć dwie różne prędkości, bo ich pola speed są niestatyczne, są ich własne...

0

Nie o to mi chodzilo.
Dlaczego w aplikacji klienckiej moge dac static a w ziarnku juz nie bo wychodza bledy? Od czego to zalezy? Przeciez Jedno EJB dla drugiego tez moze byc klientem.

0

Polecam EJB 3.0 specyfication

0

Ehh i mam szukac w calej specyfikacji tej jednej rzeczy? Tak sie sklada, ze sie juz z tym zapoznalem i widocznie cos przeoczylem.

Moze byc ktos tak mily i napisac o co w tym chodzi i przy okazji zaoszczedzic mi czasu na szukanie?

1 użytkowników online, w tym zalogowanych: 0, gości: 1