各位大侠,小弟新手新新手!遇到如下问题:
Global JNDI Namespace
+- EJBStruts (class: org.jnp.interfaces.NamingContext)
| +- LibraryCart (class: org.jnp.interfaces.NamingContext)
| | +- localStatefulProxyFactory (class: org.jboss.ejb3.stateful.StatefulLocalProxyFactory)
| | +- local (class: java.lang.Object)
| +- BookDao (class: org.jnp.interfaces.NamingContext)
| | +- local (proxy: $Proxy99 implements interface de.laliluna.library.BookDaoLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
| +- CustomerDao (class: org.jnp.interfaces.NamingContext)
| | +- local (proxy: $Proxy106 implements interface de.laliluna.library.CustomerDaoLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
为何我在同一个VM的WEB中调用该LOCAL接口时出现java.lang.ClassCastException: $Proxy111 cannot be cast to de.laliluna.library.BookDao这个错误?
调用的代码如下:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
BookDao bookDao;
CustomerDao customerDao;
Random r = new Random();
try {
Context context = new InitialContext();
bookDao = (BookDao) PortableRemoteObject.narrow(context
.lookup(Common.JNDI_PREFIX + BookDao.LocalJNDIName),
BookDaoLocal.class);
customerDao = (CustomerDao) PortableRemoteObject.narrow(context
.lookup(Common.JNDI_PREFIX + CustomerDao.LocalJNDIName),
CustomerDao.class);
} catch (NamingException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
Book book = new Book(null, "EJB 3 Developer " + r.nextInt(100),
"Sebastian");
bookDao.save(book);
Customer customer = new Customer(null, "Sebastian " + r.nextInt(100));
customerDao.save(customer);
return mapping.findForward(Common.SUCCESS);
}请给个明示,小弟我实在找不到错误在哪里
Global JNDI Namespace
+- EJBStruts (class: org.jnp.interfaces.NamingContext)
| +- LibraryCart (class: org.jnp.interfaces.NamingContext)
| | +- localStatefulProxyFactory (class: org.jboss.ejb3.stateful.StatefulLocalProxyFactory)
| | +- local (class: java.lang.Object)
| +- BookDao (class: org.jnp.interfaces.NamingContext)
| | +- local (proxy: $Proxy99 implements interface de.laliluna.library.BookDaoLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
| +- CustomerDao (class: org.jnp.interfaces.NamingContext)
| | +- local (proxy: $Proxy106 implements interface de.laliluna.library.CustomerDaoLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
为何我在同一个VM的WEB中调用该LOCAL接口时出现java.lang.ClassCastException: $Proxy111 cannot be cast to de.laliluna.library.BookDao这个错误?
调用的代码如下:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
BookDao bookDao;
CustomerDao customerDao;
Random r = new Random();
try {
Context context = new InitialContext();
bookDao = (BookDao) PortableRemoteObject.narrow(context
.lookup(Common.JNDI_PREFIX + BookDao.LocalJNDIName),
BookDaoLocal.class);
customerDao = (CustomerDao) PortableRemoteObject.narrow(context
.lookup(Common.JNDI_PREFIX + CustomerDao.LocalJNDIName),
CustomerDao.class);
} catch (NamingException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
Book book = new Book(null, "EJB 3 Developer " + r.nextInt(100),
"Sebastian");
bookDao.save(book);
Customer customer = new Customer(null, "Sebastian " + r.nextInt(100));
customerDao.save(customer);
return mapping.findForward(Common.SUCCESS);
}请给个明示,小弟我实在找不到错误在哪里
解决方案 »
- s2sh整合时报500 Unable to instantiate Action, loginAction, defined for 'login' in n
- spring+hibernate+struts2 相关
- spring:采用Annotation方式实现AOP
- 这个问题郁闷了总监三天,关于数据库连接池
- 第一个jsp --helloworld出错了????????
- weblogic如何自定义错误页
- Java程序如何利用SOAP与VB、VC开发的软件通讯?
- JBoss讨论组,请加入!
- 初学者的问题!!????
- CommonsMultipartResolver上传文件过大时抛出异常后导致响应无法返回
- jxl处理excel文件问题
- struts2中如何实现radio标签多行显示
这个属于反射的特性。