Java jboss和sonic mq玩得不好
这是我一天来一直在反对的东西。Java jboss和sonic mq玩得不好,java,jboss,timeout,sonicmq,Java,Jboss,Timeout,Sonicmq,这是我一天来一直在反对的东西。 我有一个jboss(jboss4)的旧版本,我在其中启动了一些代码,以连接到sonic mq(我想是7.6)的实现,在那里我作为客户机运行。我正在运行Java1.6.0\u23。话虽如此,我看到了我似乎无法理解的非常奇怪的行为 当我的进程开始时,我加载所有我需要建立到sonic mq服务器的连接的jndi道具,然后像这样调用 Context ic = new InitialContext(jndiEnv); 然而,我看不到交通在我的钢丝鲨鱼在这一点上,这是困惑我
我有一个jboss(jboss4)的旧版本,我在其中启动了一些代码,以连接到sonic mq(我想是7.6)的实现,在那里我作为客户机运行。我正在运行Java1.6.0\u23。话虽如此,我看到了我似乎无法理解的非常奇怪的行为 当我的进程开始时,我加载所有我需要建立到sonic mq服务器的连接的jndi道具,然后像这样调用
Context ic = new InitialContext(jndiEnv);
然而,我看不到交通在我的钢丝鲨鱼在这一点上,这是困惑我。最终这将超时,给我一个例外
javax.naming.NamingException. Root exception is com.sonicsw.mf.comm.ConnectTimeoutException: Timeout occured while attempting to connect
真正让我头疼的是,我在同一台服务器上从一个独立的jar(而不是从jboss内部)运行我的进程,它连接得很好?两件事:您能在JBoss服务器上的类路径中检查所需的JAR吗?
您是否正在设置Sonic MQ的域名属性,该属性是获取Sonic目录服务的初始上下文对象ref所必需的
private Properties getConnectionEnv(String initialContextFactory,String providerURL, String domain, String userName, String password) {
Properties connectionEnv = new Properties();
if (initialContextFactory != null && initialContextFactory.length() != 0) {
connectionEnv.put(Context.INITIAL_CONTEXT_FACTORY,initialContextFactory);
}
if (providerURL != null && providerURL.length() != 0)
connectionEnv.put(Context.PROVIDER_URL, providerURL);
if (domain != null && domain.length() != 0)
connectionEnv.put("com.sonicsw.jndi.mfcontext.domain", domain);
if (userName != null && userName.length() != 0) {
connectionEnv.put(Context.SECURITY_PRINCIPAL, userName);
connectionEnv.put(Context.SECURITY_CREDENTIALS, password);
}
return connectionEnv;
}
希望这对你有帮助
两件事:您能在JBoss服务器上的类路径中检查所需的JAR吗?
您是否正在设置Sonic MQ的域名属性,该属性是获取Sonic目录服务的初始上下文对象ref所必需的
private Properties getConnectionEnv(String initialContextFactory,String providerURL, String domain, String userName, String password) {
Properties connectionEnv = new Properties();
if (initialContextFactory != null && initialContextFactory.length() != 0) {
connectionEnv.put(Context.INITIAL_CONTEXT_FACTORY,initialContextFactory);
}
if (providerURL != null && providerURL.length() != 0)
connectionEnv.put(Context.PROVIDER_URL, providerURL);
if (domain != null && domain.length() != 0)
connectionEnv.put("com.sonicsw.jndi.mfcontext.domain", domain);
if (userName != null && userName.length() != 0) {
connectionEnv.put(Context.SECURITY_PRINCIPAL, userName);
connectionEnv.put(Context.SECURITY_CREDENTIALS, password);
}
return connectionEnv;
}
希望这对你有帮助
GK嘿,任何遇到这个的人。。。所以我解决了我的问题,并认为我会分享它 事实证明,即使sonic技术团队说,他们的代码从来没有查看jvm变量javax.ssl.keystore。。。它确实 是这样设置的 javax.ssl.keystore=C:什么 这将导致初始上下文生成挂起,直到超时。 然而这 javax.ssl.keystore=C:\something 会有用的。 如果它没有设置,它也会工作 我希望会抛出某种异常: 我希望这对某人有帮助!:) 谢谢
嘿,任何遇到这个的人。。。所以我解决了我的问题,并认为我会分享它 事实证明,即使sonic技术团队说,他们的代码从来没有查看jvm变量javax.ssl.keystore。。。它确实 是这样设置的 javax.ssl.keystore=C:什么 这将导致初始上下文生成挂起,直到超时。 然而这 javax.ssl.keystore=C:\something 会有用的。 如果它没有设置,它也会工作 我希望会抛出某种异常: 我希望这对某人有帮助!:) 谢谢
JGK-感谢您的回复,我正在设置连接所需的所有内容,该功能曾一度正常工作,但在重新启动Jboss后停止。我现在正在研究解决这一问题的两件事是如何设置Sonic LIB的客户端日志,并研究jboss是否可能无法解析地址或无法访问端口…GK-感谢您的回复,我正在设置连接所需的一切,我现在正在研究的两件事是如何为Sonic LIB建立客户端日志,以及研究Jboss是否可能无法解析地址或无法访问端口。。。