1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
from jpype import *
import time
def pySubscriber(proxy,
javaNamingFactory="weblogic.jndi.WLInitialContextFactory",
javaNamingProvider="t3://158.188.40.21:7001",
connectionFactory="weblogic.jms.ConnectionFactory",
topicName="defaultTopic"):
return messaging.JpypeSubscriber(proxy, javaNamingFactory, javaNamingProvider,
connectionFactory, topicName)
# Startup Jpype and import the messaging java package
startJVM("C:\\program files\\Java\\j2re1.4.2_02\\bin\\client\\jvm.dll",
"-Djava.class.path=D:/jIRAD/JpypeJMS/src;D:/jIRAD/JpypeJMS/classes;C:/bea/weblogic81/server/lib/weblogic.jar")
messaging = JPackage('messaging')
# Setup the JProxy for the messaging.JpypeSubscriberCallback interface
class pyCallback:
startTime = 0
count = 0
def onMessage(self, text):
print(text)
if text == 'Start':
pyCallback.startTime = time.time()
pyCallback.count = 0
elif text == 'Stop':
print("Message Rate =", float(pyCallback.count) / (time.time() - pyCallback.startTime))
else:
pyCallback.count += 1
c = pyCallback()
proxy = JProxy(messaging.JpypeSubscriberCallback, inst=c)
# Get a subscriber
sub = pySubscriber(proxy)
print("Listening...")
# Prevent this thread from exiting
time.sleep(1000)
# exit
shutdownJVM()
|