不清楚lookup方法 你现在的这个并没什么路径的问题,既然jndi名叫oraclejndi就直接用lookup("oraclejndi")就行,所谓路径你可以想象成文件的路径,道理是一样的,因为文件系统也可以看成是目录服务。 注意的是Context的建立要指定相应的参数,这个在Weblogic的例子程序中可以找到。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢 juhwali(华仔)的回答1、我在JB7中配置好用它制作了一个示例程序可以成功,但我用记事本写程序再部署客户端总出错2、怎样去判断jndi设置正确??3、请你再把路径问题说清楚一点好吗? 1你用jb生成的客户端测试一下2怎样去判断jndi设置正确??lookup()找不到就是问题 离开JB环境后使用客户端测试时将以下包加到classpath中:C:\bea\weblogic700\server\lib\weblogic.jar;创建Context使用如下方式: String url = "t3://主机名:7001"; Properties properties = null; properties = System.getProperties(); properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); properties.put(Context.PROVIDER_URL, url); Context ctx = new InitialContext(properties); weblogic的配置poolName:oraclePoolURL:jdbc:oracle:thin:@127.0.0.1:1521:oracleDriver Classname:oracle.jdbc.driver.OracleDriveruser=ejbpassword=ejbsourcesName:oracleSourcesPool Name:oraclePool在程序中代码:Context ctx = new InitialContext();Object homeObject=lookup(oracleSources);HelloHome home =(HelloHome)javax.rmi.PortableRemoteObject.narrow (homeObject,HelloHome.class);System.out.println(home.getHello()) ^^^^^^^^^^^^^在这里用JCreator Pro来看home没有getHello方法,但我在remote中定义了该方法。 lookup("oraclejndi")->lookup("java:comp/env/jdbc/oraclejndi") 能解析一下:java:comp/env/jdbc/是什么意思? 问题好象是这样的:在本地开发用:lookup("java:comp/env/jdbc/oraclejndi")在远程用:lookup("oraclejndi")~~ System.out.println(home.getHello()) ^^^^^^^^^^^^^在这里用JCreator Pro来看home没有getHello方法,这里不对吧,应该由Home接口生成Remote对象才对啊Hello hello = home.create();System.out.ptinln(hello.getHello()); 我也碰到这个问题,烦恼!!错误如下:在DEBUG ENTITY BEAN 客户端的时候提示以下错误信息,请高手指点!代码段如下:Context ctx = getInitialContext();Object ref = ctx.lookup("Login");Home = (LoginHome)PortableRemoteObject.narrow(ref, LoginHome.class);Login r=Home.findByPrimaryKey(new java.math.BigDecimal("1"));System.out.println(r.getName());JNDI name 与Weblogic JNDI Tree 中的名字一样,但Debug client的时候出现:javax.naming.LinkException: Root exception is javax.naming.NameNotFoundException: remaining name: /app/ejb/Demo.jar#Login/local-home<<no stack trace available>>但在Weblogic JNDI Tree显示如下: Bind Name: LoginObject Class:Object Hash Code:Object To String:Login并没有绑定任何Class,发布的时候正常!!使用weblogic服务器,用jbuilder发布!定义对象的全名:java:comp/env/ejb/Login或者java:comp/env/Login也不行!!!! 求救SSH系统性能问题-数据库连接泄漏问题 那个地方有错误? TOMCAT加载XML jsf+hibernate+spring问题 急求解答 关于STRUTS+hibernate+spring 环境 关于httpunit测试的问题 tomcat+jbuilder+struts1.1编译错误,请指教 高手请进!!关于网络编程! 急啊。求救啊啊,在线等待啊 用Rose工具建模 高薪诚聘J2EE程序员(面议)兼职,限郑州!!! 关于通过JDBC连接JAVA与ORACLE的问题
2怎样去判断jndi设置正确??lookup()找不到就是问题
使用客户端测试时将以下包
加到classpath中:
C:\bea\weblogic700\server\lib\weblogic.jar;创建Context使用如下方式:
String url = "t3://主机名:7001";
Properties properties = null;
properties = System.getProperties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, url); Context ctx = new InitialContext(properties);
pool
Name:oraclePool
URL:jdbc:oracle:thin:@127.0.0.1:1521:oracle
Driver Classname:oracle.jdbc.driver.OracleDriver
user=ejb
password=ejb
sources
Name:oracleSources
Pool Name:oraclePool在程序中代码:
Context ctx = new InitialContext();
Object homeObject=lookup(oracleSources);
HelloHome home =(HelloHome)javax.rmi.PortableRemoteObject.narrow
(homeObject,HelloHome.class);
System.out.println(home.getHello())
^^^^^^^^^^^^^在这里用JCreator Pro来看home没有getHello方法,但我在remote中定义了该方法。
在远程用:lookup("oraclejndi")
~~
^^^^^^^^^^^^^在这里用JCreator Pro来看home没有getHello方法,这里不对吧,应该由Home接口生成Remote对象才对啊
Hello hello = home.create();
System.out.ptinln(hello.getHello());
代码段如下:
Context ctx = getInitialContext();
Object ref = ctx.lookup("Login");
Home = (LoginHome)PortableRemoteObject.narrow(ref, LoginHome.class);
Login r=Home.findByPrimaryKey(new java.math.BigDecimal("1"));
System.out.println(r.getName());JNDI name 与Weblogic JNDI Tree 中的名字一样,但Debug client的时候出现:
javax.naming.LinkException: Root exception is javax.naming.NameNotFoundException: remaining name: /app/ejb/Demo.jar#Login/local-home
<<no stack trace available>>但在Weblogic JNDI Tree显示如下:
Bind Name: Login
Object Class:
Object Hash Code:
Object To String:Login并没有绑定任何Class,发布的时候正常!!
使用weblogic服务器,用jbuilder发布!
定义对象的全名:
java:comp/env/ejb/Login
或者java:comp/env/Login
也不行!!!!