如何解决配置JNDI查找端口jboss + EJB
|| 我在应用程序中将JSF和EJB用作两个单独的项目。下面我描述了用于JNDI查找的代码protected final Object lookup(Class className) throws NamingException {
Properties properties = new Properties();
properties.put(\"java.naming.factory.initial\",\"org.jnp.interfaces.NamingContextFactory\");
properties.put(\"java.naming.factory.url.pkgs\",\"org.jboss.naming:org.jnp.interfaces\");
properties.put(\"java.naming.provider.url\",ProjectConstants.PORT_NUMBER);
initialContext = new InitialContext(properties);
return initialContext.lookup(ProjectConstants.DEPLOYMENT_NAME+\"/\"+className.getSimpleName().substring(0,className.getSimpleName().lastIndexOf(\"Remote\")) + \"/remote-\" + className.getName());
}
jboss是否有用于端口的特殊配置,我用于查找?
解决方法
默认情况下,JNDI端口为“ 1”。如果您想要另一个端口,请使用
-Djboss.service.binding.set=ports-01
启动jBoss。这将为每个端口增加100。 1099-> 1199等
, 默认端口为1099,上下文加载器将尝试进行自己的发现。
但是,您也可以指定到java.naming.provider.url
的端口,例如,这也可以使用:
properties.put(\"java.naming.provider.url\",\"jnp://localhost:15102\");
我还建议您不要使用硬编码的字符串,而是依靠javax.naming.Context
中的现有常量,例如:
final Properties props = new Properties();
props.put(Context.SECURITY_PRINCIPAL,username);
props.put(Context.SECURITY_CREDENTIALS,password);
props.put(Context.INITIAL_CONTEXT_FACTORY,MY_JNDI_FACTORY);
props.put(Context.URL_PKG_PREFIXES,\"org.jboss.naming:org.jnp.interfaces\");
props.put(Context.SECURITY_PROTOCOL,MY_JNDI_PROTOCOL);
props.put(Context.PROVIDER_URL,server);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。