是用了localejb的问题,session可以找到,但是用了local的entity就找不到了
解决方案 »
- 请教一个jbpm4.4的问题,关于任务分配者的。
- 紧急!!!sqlserver2005按时间段回滚?
- 如何使用jms的objectMessage来实现发送图片
- jsp向数据库中插入图片和图片的读取!!
- JSP存入数据库数据变成乱码的问题
- hibernate里joined-subclass 怎么用
- struts是属于J2EE的吗?接分
- 请教高手!多谢啦!
- 大家谁能帮我看看 一个web工程是怎样控制使用权限的
- 萌新入手IDEA 运行tomcat报错,好像是端口被占用,但是改了好几个也没有,也查过控制台进程没有发现被占用的端口.求教!!!!!!!
- 本人刚学J2EE,请推荐几本好书,拜托!!!!
- (救救我吧!)为什么我的Tomcat4.0老是不稳定???怎样配置???
另外你的配置文件写对了没有,一般JNDI错误都是配置文件写错了,然后lookup的时候又调用错了所致的。
这和我昨天遇到的问题一样,原因是你是用jbuilder生成的client程序调用的
local接口只能够在ejb中调用,不能暴漏给client端,这点和楼上说的一样。
private Context getInitialContext() throws Exception {
String url = "t3://127.0.0.1:7001";
String user = null;
String password = null;
Properties properties = null;
try {
properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, url);
if (user != null) {
properties.put(Context.SECURITY_PRINCIPAL, user);
properties.put(Context.SECURITY_CREDENTIALS, password == null ? "" : password);
} return new InitialContext(properties);
}
catch(Exception e) {
throw e;
}
}
其他的lookup都是直接lookup("Tianhe2SybaseDataSource");lookup("TbShow");这样的,对于client找session有效,但是session就找不到entitylocal
,TbShowHome是entity
Context ctx = getInitialContext();
Object ref = (TbShowHome)ctx.lookup("TbShow");
tbShowHome=(TbShowHome)ref;
//这是找entity的远程接口的,有效
//Object ref = (TbShowHome)ctx.lookup("TbShowRemote");
//tbShowHome = (TbShowHome) PortableRemoteObject.narrow(ref, TbShowHome.class);
tbShow=tbShowHome.findByPrimaryKey(showpk);
tbShow.setSStateId(new Short(ssid));