Ik krijg een ClassCastException: $Proxy129 met de volgende stacktrace:
Ik heb wat op het internet gezocht en ik heb het vermoeden dat het aan mijn lookup moet liggen... omdat ik uit verschillende verhalen denk te begrijpen dat mijn JNDI_Name waarschijnlijk niet goed opgezocht kan worden. In mijn JSP heb ik de volgende lookup:
En in mijn SessionBean heb ik de volgende lookup naar de UserBean (Entity)
De eerste regel waar hij over zeurt in de stacktrace is de method copyUsersToDetails, die hieronder is weergegeven...
Weet iemand wat er eventueel fout gaat?? De tweede regel van de stacktrace zeurt hij over de method getAllUsers();, dit is volgens mij alleen omdat hier de method copyUsersToDetails aangeroepen wordt.
HELP!!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
| 09:29:04,609 INFO [STDOUT] StoringsmelderBean ejbCreate
09:29:04,625 INFO [STDOUT] StoringsmelderBean ejbCreate
09:29:04,640 INFO [STDOUT] StoringsmelderBean getAllUsers
09:29:04,687 ERROR [LogInterceptor] RuntimeException:
java.lang.ClassCastException: $Proxy129
at ejb.java.storingsmelder.StoringsmelderBean.copyUsersToDetails(Storing
smelderBean.java:212)
at ejb.java.storingsmelder.StoringsmelderBean.getAllUsers(Storingsmelder
Bean.java:115)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invoke(St
atefulSessionContainer.java:824)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.
java:130)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
ke(CachedConnectionInterceptor.java:186)
at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(State
fulSessionInstanceInterceptor.java:268)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
rceptor.java:107)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
torCMT.java:237)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:9
8)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208)
at org.jboss.ejb.StatefulSessionContainer.invoke(StatefulSessionContaine
r.java:380)
at org.jboss.ejb.Container.invoke(Container.java:738)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:99)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.jav
a:102)
at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.
java:77)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:8
0)
at org.jboss.proxy.ejb.StatefulSessionInterceptor.invoke(StatefulSession
Interceptor.java:117)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
at $Proxy127.getAllUsers(Unknown Source)
at org.apache.jsp.storingsmelderUsers$jsp._jspService(storingsmelderUser
s$jsp.java:137)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspSer
vlet.java:201)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
81)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:360
)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicati
onHandler.java:294)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:5
58)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1714)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplication
Context.java:507)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1664)
at org.mortbay.http.HttpServer.service(HttpServer.java:863)
at org.jboss.jetty.Jetty.service(Jetty.java:460)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:775)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:939)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:792)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:
201)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455)
09:29:04,687 WARN [jbossweb] WARNING: Exception for /jspweb/storingsmelderUsers
.jsp?: java.rmi.ServerException: RuntimeException; nested exception is:
java.lang.ClassCastException: $Proxy129 |
Ik heb wat op het internet gezocht en ik heb het vermoeden dat het aan mijn lookup moet liggen... omdat ik uit verschillende verhalen denk te begrijpen dat mijn JNDI_Name waarschijnlijk niet goed opgezocht kan worden. In mijn JSP heb ik de volgende lookup:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| StoringsmelderHome storingsmelderHome = null;
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
env.put(Context.PROVIDER_URL,"jnp://127.0.0.1:1099");
InitialContext ctx = new InitialContext();
Object objref = ctx.lookup(StoringsmelderHome.JNDI_NAME);
storingsmelderHome =(StoringsmelderHome)javax.rmi.PortableRemoteObject.narrow
(objref, StoringsmelderHome.class);
Storingsmelder storingsmelder =null;
try
{
storingsmelder = storingsmelderHome.create();
}
catch (javax.ejb.NoSuchEntityException e)
{
e.printStackTrace();
} |
En in mijn SessionBean heb ik de volgende lookup naar de UserBean (Entity)
code:
1
2
3
4
5
6
7
8
9
10
11
12
| public UserHome lookupUser() throws NamingException
{
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
env.put(Context.PROVIDER_URL,"jnp://127.0.0.1:1099");
InitialContext ctx = new InitialContext();
Object objref = ctx.lookup(UserHome.JNDI_NAME);
home =(UserHome)javax.rmi.PortableRemoteObject.narrow(objref, UserHome.class);
return (UserHome) objref;
} |
De eerste regel waar hij over zeurt in de stacktrace is de method copyUsersToDetails, die hieronder is weergegeven...
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| public ArrayList copyUsersToDetails(Collection users)
{
ArrayList detailsList = new ArrayList();
Iterator i = users.iterator();
while (i.hasNext())
{
regel 212 --> UserLocal user = (UserLocal) i.next();
String details = user.toString(",");
detailsList.add(details);
}
return detailsList;
} // copyUsersToDetails |
Weet iemand wat er eventueel fout gaat?? De tweede regel van de stacktrace zeurt hij over de method getAllUsers();, dit is volgens mij alleen omdat hier de method copyUsersToDetails aangeroepen wordt.
HELP!!