weblogic上查找JNDI的问题

jacky_yp 2004-09-01 09:50:11
我的源码:
//得到应用服务器的DataSource
public DataSource getDataSource(String ds)
{
String url = "t3://jacky:7001";//应用服务器名称、端口
Properties properties = new Properties();
//假设服务器用weblogic
properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, url);
properties.put(Context.SECURITY_PRINCIPAL, "system");
properties.put(Context.SECURITY_CREDENTIALS, "11111111");


try{
context = new InitialContext(properties);
Object obj = context.lookup(ds);
DataSource datasource = (DataSource)obj;
return datasource;
}
catch(NamingException ex)
{
ex.printStackTrace();
return null;
}
}

public static void main(String[] arg)
{
ServiceLocator a = ServiceLocator.getInstance();
System.out.println(a.getDataSource("myds"));
}
就是想得到weblogic上定义的datasource,我的datasource在JNDI中定义为"myds",抱错信息是:
java.lang.ExceptionInInitializerError
at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:79)
at weblogic.common.internal.RMIBootServiceStub.getStub(RMIBootServiceStub.java:50)
at weblogic.security.acl.internal.Security.authenticate(Security.java:153)
at weblogic.jndi.WLInitialContextFactoryDelegate.authenticateRemotely(WLInitialContextFactoryDelegate.java:592)
at weblogic.jndi.WLInitialContextFactoryDelegate.pushSubject(WLInitialContextFactoryDelegate.java:529)
at weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLInitialContextFactoryDelegate.java:341)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:313)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:239)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:135)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at javax.naming.InitialContext.init(InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:195)
at com.eccom.struts.jdbc.ServiceLocator.getDataSource(ServiceLocator.java:43)
at com.eccom.struts.jdbc.ServiceLocator.main(ServiceLocator.java:60)
Caused by: java.lang.NullPointerException
at weblogic.utils.classfile.utils.CodeGenerator.<clinit>(CodeGenerator.java:31)
...全文
246 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jacky_yp 2004-09-02
  • 打赏
  • 举报
回复
问题还没解决,高手帮忙啊:(
jacky_yp 2004-09-01
  • 打赏
  • 举报
回复
应该是javax.rmi.PortableRemoteObject.narrow(obj,class)啊,第二个参数是class类型不是String类型的呀!应该填哪个class?填DataSource不对啊
hiking 2004-09-01
  • 打赏
  • 举报
回复
DataSource datasource = (DataSource)obj;

试一下 javax.rmi.PortableRemoteObject.narrow(obj, "java.sql.DataSource") ;
jacky_yp 2004-09-01
  • 打赏
  • 举报
回复
怎么没人回答啊?:(

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧