16. august 2004 - 10:29Der er
18 kommentarer og 1 løsning
Hvorfor vil det her ikke?
Jeg har en lille test klient til min sessionbeans. Men det lort vil ikke, nok mine evner, men.
Men det hele gå godt indtil jeg skal til at tage infomation i de objecter i min arraylist. Kan se at der ligger noget i den. Men selv om jeg typecaster og det hele så er den da ligeglad.
home =(AdminHome) PortableRemoteObject.narrow(obj,AdminHome.class);
ad = home.create();
//ad.afdEJBAdd(new Integer(333),"grptest");
list = ad.afdEJBAll(); System.out.println(list.size()); System.out.println(list.get(0).toString());
local = (LocalAfd)list.get(1);
System.out.println(local.getAfdID());
Og det her mit output:
2 ejb/local/AfdEJB:222 Exception in thread "main" java.lang.NullPointerException at org.jboss.ejb.plugins.local.EntityProxy.invoke(EntityProxy.java:44) at $Proxy2.getAfdID(Unknown Source) at TestAfd.main(TestAfd.java:53) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.intellij.rt.execution.application.AppMain.main(Unknown Source)
<query> <query-method> <method-name>findByAll</method-name> <method-params> </method-params> </query-method> <jboss-ql> <![CDATA[ SELECT OBJECT(G) FROM AfdEJB g WHERE g.afdID IS NOT NULL ORDER BY g.navn DESC ]]> </jboss-ql> </query> </entity>
Kan jeg godt forstå. Lad mig forklare, det er fordi jeg har lavet en admin session bean til at tage sig af at kalde entitybens. ad.afdEJBAll er en session bean der så kalder den entitybean, du ser ovenover. Den laver så også det der kommer fra min entitybean om til en arraylist. Så min entitybean, AfdBean, har kun et lokalt interface. Det ikke derfor vel?
Jeg håber meget at den session bean metode ikke bare gemmer local CMP interfaces i array listen men transformerer om i et data transfer objekt (normal bean).
Det gør den da (fløjter og kigger op). Nej det gør den vist ikke. Det vil sige jeg skal lave en alminelig bean til at pakke min localAfd ind i. I min admin sessionbean??
Du laver en bean klasse med ca. de samme felter som din CMP dog simple data typer hvor muligt. Du lader din IDE genererer get og set metoder. Så laver du en tom constructor og en constructor med alle argumenterne.
Har lige et generalt spørgsmål om beans. Nu har jeg lavet det her med transer beans og alt det her. Og det virker umeldbart lækkert. Men hvad nu med alle de her beans jeg laver frem og tilbage. Hvordan sletter jeg mine beans, eller klare java det for mig? Og lægger du et svar?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.