2013-04-09 56 views
5

到JMX我使用WebLogic例如:http://groovy.codehaus.org/Groovy+and+JMX到JMX與常規如何連接使用Groovy更快

連接的問題是,連接時間過長:

long time = System.currentTimeMillis(); 

    println System.currentTimeMillis() - time; 
    def server = JMXConnectorFactory.connect(serviceURL, h).MBeanServerConnection 
    println System.currentTimeMillis() - time; 

我有大約200 Groovy腳本。每個腳本都在做其他事情,但都需要連接到jmx。當我想要執行所有這些需要大約一小時甚至更多時間。有沒有一些選擇如何更快地做到這一點?

+0

你不能連接一次,然後分享他們之間這種連接的靜態方法? – 2013-04-09 10:29:17

+0

這是選項,但我不知道我該怎麼做。每個腳本都應該單獨工作 – hudi 2013-04-09 10:31:02

+0

@tim_yates任何想法如何共享腳本之間的連接? – hudi 2013-04-12 09:16:29

回答

2

所以答案很簡單。我需要使用這個項目:http://kobo.github.io/groovyserv/

然後我剛剛創建的類JmxSharedConection與在那裏我添加連接,現在它工作得更快

1

我會採取蒂姆的建議,並實施共享連接作爲[同步]單身人士。因此,實際上,您建立一次連接,然後每個腳本根據需要使用它。對於某些額外的皮扎,請將connection listener註冊到您的JMXConnection,並且當連接丟失時,啓動重新連接循環,向調用腳本拋出異常,直到重新連接。

+0

,你能告訴我一些例子嗎?我不知道如何開始 – hudi 2013-04-11 08:56:28