我编写了一个针对Websphere Applicationserver Message Topic运行的小客户端测试程序。一切正常。现在,如果我打开管理安全性,我得到一个错误。
这就是我正在使用的代码。
public static void main(String[] args)
{
try {
/**
* Lookup connection factory object using jndi
*/
System.out.println("* Looking up CF in jndi...");
Hashtable env = new Hashtable();
env.put(Context.PROVIDER_URL, "iiop://192.168.195.144:2809");
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");
Context ctx = new InitialContext(env);
TopicConnectionFactory fact=(TopicConnectionFactory)ctx.lookup("jms/Ttestsecure");
TopicConnection connect = fact.createTopicConnection();
TopicSession session=connect.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
Topic topic=null;
try
{
topic =(Topic) ctx.lookup("jms/Totestsecure");
System.out.println(topic.getTopicName());
}
这是我得到的错误
在 jndi 中查找 CF... JSAS1480I: Die Sicherheit nicht aktiviert, weil die ConfigURL-Eigenschaftendatei nicht definiert ist。javax.naming.NamingException:获取 WsnNameService 属性时出错 [根异常是 org.omg.CORBA.TRANSIENT:初始和转发的 IOR 不可访问 vmcid:IBM 次要代码:E07 已完成:否] 在 com.ibm.ws.naming.util.WsnInitCtxFactory .mergeWsnNSProperties(WsnInitCtxFactory.java:1552) 在 com.ibm.ws.naming.util.WsnInitCtxFactory.getRootContextFromServer(WsnInitCtxFactory.java:1042) 在 com.ibm.ws.naming.util.WsnInitCtxFactory.getRootJndiContext(WsnInitCtxFactory.java:962) ) 在 com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:128) 上的 com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:614)。命名.util.WsnInitCtx。17 more 我对 websphere 服务器不是很熟悉 有没有人建议什么问题?我只打开了管理安全说明总线安全。如果我关闭所有工作正常。
感谢您的任何提示。