स्क्रिप्ट में wsadmin jython स्क्रिप्ट कॉल विधि
क्या wsadmin प्रोग्राम के माध्यम से एक jython स्क्रिप्ट में विशिष्ट कार्यों को कॉल करने का एक तरीका है?
# BusAndBusMemeber.py
def devCreateBus:
AdminTask.createSIBus('[-bus intjmsbus -description [SIBus intjmsbus] -busSecurity false]')
AdminTask.addSIBusMember('[-bus intjmsbus -node ctgNode01 -server MXServer]')
AdminConfig.save()
def devDeleteBus:
AdminTask.deleteSIBus('[-bus intjmsbus]')
AdminConfig.save()
सर्वर cmd प्रॉम्प्ट से:
C: \ IBM \ WebSphere…।
या
C: \ IBM \ WebSphere .... \ bin> wsadmin -conntype SOAP -user myUsername -password myPassword -lang jython -f BusAndBusMember.py [devusreateBus]
अभी तक मैं jython स्क्रिप्ट को निष्पादित करने का एकमात्र तरीका है, केवल AdminTasks से स्क्रिप्टिंग करके।
धन्यवाद।
जवाब
यह थोड़ा हैक है लेकिन आप इसे अपनी स्क्रिप्ट में जोड़ सकते हैं:
globals()[sys.argv[0]]()
एक विकल्प यह है कि आप इस फ़ाइल में अपने कार्यों को रखें और एक दूसरा पायथन लिपि लिखें, जिसमें तर्क दिया जाए कि किन कार्यों को कॉल करना है:
import sys
execfile("BusAndBusMemeber.py")
if sys.argv[0] == "devCreateBus":
devCreateBus();
else:
print("Unknown arg %s" % sys.argv[0])
आप भी संयोजन -profileऔर -cविकल्प की तरह कर सकते हैं:
.wsadmin.sh -profile "functions.py" -c "print devCreateBus ()"
यह अभी भी पूरे -प्रायोज्य स्क्रिप्ट के माध्यम से चलेगा ताकि आप संभवतः "मुख्य" में कार्य करना चाहें।