jboss中jndi的问题?

来源:互联网  时间:2016/8/24 7:05:26

关于网友提出的“ jboss中jndi的问题?”问题疑问,本网通过在网上对“ jboss中jndi的问题?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: jboss中jndi的问题?
描述:

调用在jboss中配置的datasource的问题(jboss版本3.2.6)。
  在jboss下配置了一个access的datasource(JNDI名称:java:/CruiseAccessDS)
jboss启动时显示如下信息:
11:18:07,648 INFO  [CruiseAccessDS] Bound connection factory for resource adapter 
for ConnectionManage 'jboss.jca:service=LocalTxCM, name=CruiseAccessDS to JNDI name 'java:/CruiseAccessDS'
此信息显示配置成功
  如果是在JSP(通过JavaBean),或Servlet,EJB中使用此DataSource是没有问题的,因为它们和datasource在同一个application server内。
代码如下:
......
InitialContext ctx = new InitialContext(); 
DataSource ds = (DataSource)ctx.lookup("java:/CruiseAccessDS");
......
运行通过!
  但如果是一个swing的client,要使用application server内的datasource,就有问题了。
代码如下:
......
Properties prop = new Properties();
prop.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
prop.put(Context.PROVIDER_URL, "localhost:1099");
prop.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
Context ctx = new InitialContext(prop);
DataSource ds = (DataSource)ctx.lookup("java:/CruiseAccessDS");
......
运行时报错
javax.naming.NameNotFoundException: CruiseAccessDS not bound
注:在client下调用EJB或消息队列均运行通过,如:
Object obj = ctx.lookup("HelloWorldEJB");
Object obj = ctx.lookup("queue/testQueue");
那位大虾帮帮忙,是不是application server有在容器外有调用权限的问题?

上一篇在线请问如何用javascript 来设置jsp页面的 struts的hidden控件的值
下一篇MIDDLEGEN使用问题
明星图片
相关文章
《 jboss中jndi的问题?》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)