我需要連接到與常規的WebSphere JMX:主機輸入參數連接錯誤使用Groovy
def urlRuntime = '/jndi/JMXConnector'
def urlBase = 'service:jmx:iiop://' + host
def serviceURL = new JMXServiceURL(urlBase + urlRuntime)
def h = new Hashtable()
h.put(Context.SECURITY_PRINCIPAL, username)
h.put(Context.SECURITY_CREDENTIALS, password)
h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, "com.ibm.websphere.management.remote")
def server = JMXConnectorFactory.connect(serviceURL,h).MBeanServerConnection
println server
當我運行這個例子中,我得到了這個例子:
JSAS1480I: Security is not enabled because the ConfigURL property file is not set.
Caught: java.io.IOException: Connector not available: Error during resolve
java.io.IOException: Connector not available: Error during resolve
at com.ibm.websphere.management.remote.WsProvider.newJMXConnector(WsProvider.java:155)
at KonfiguraceSluzebConfig.main(rob-app-task.groovy:59)
我的代碼有什麼問題? IAM使用WebSphere版本8.5.5.0
UPDATE
我嘗試添加配置文件:
h.put("com.ibm.CORBA.ConfigURL","ssl.client.props");
但例外的是仍然相同。我不知道如何添加有該文件
UPDATE2
那麼一點研究後,我發現我需要添加這種說法女巫常規:
-Dcom.ibm.CORBA.ConfigURL=sas.client.props
-Dcom.ibm.SSL.ConfigURL=ssl.client.props
現在異常JSAS1480I解決,但有另一個例外:
Caused by: java.lang.ClassCastException: com.ibm.rmi.javax.rmi.PortableRemoteObject incompatible with javax.rmi.CORBA.PortableRemoteObjectDelegate
當我刪除此屬性:
h.put(Context.SECURITY_PRINCIPAL, username)
h.put(Context.SECURITY_CREDENTIALS, password)
然後用彈出窗口顯示用戶名和密碼。當我輸入有效的用戶名和密碼,然後我們有相同的異常:
java.io.IOException: Connector not available: Error during resolve
at com.ibm.websphere.management.remote.WsProvider.newJMXConnector(WsProvider.java:155)
這真的沒有告訴我問題出在哪裏......好的IBM
誰能幫助我解決這個問題?
PS:在java中這個例子工程
這有幫助嗎? http://stackoverflow.com/questions/13840637/how-to-connect-to-a-websphere-application-server-8-5-message-queue-while-adminis –
nope我真的不想指定一些文件我不知道如何創建和連接器的主要問題 – hudi
也許你需要在你的類路徑管理客戶端jar? http://stackoverflow.com/questions/357095/how-do-you-enable-jmx-in-websphere –