स्क्रिप्ट में wsadmin jython स्क्रिप्ट कॉल विधि

Sep 25 2020

क्या 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 से स्क्रिप्टिंग करके।

धन्यवाद।

जवाब

1 covener Sep 25 2020 at 21:32

यह थोड़ा हैक है लेकिन आप इसे अपनी स्क्रिप्ट में जोड़ सकते हैं:

globals()[sys.argv[0]]()

एक विकल्प यह है कि आप इस फ़ाइल में अपने कार्यों को रखें और एक दूसरा पायथन लिपि लिखें, जिसमें तर्क दिया जाए कि किन कार्यों को कॉल करना है:

import sys
execfile("BusAndBusMemeber.py")
if sys.argv[0] == "devCreateBus":
  devCreateBus();
else:
  print("Unknown arg %s" % sys.argv[0])
1 ScottKurz Sep 25 2020 at 22:16

आप भी संयोजन -profileऔर -cविकल्प की तरह कर सकते हैं:

.wsadmin.sh -profile "functions.py" -c "print devCreateBus ()"

यह अभी भी पूरे -प्रायोज्य स्क्रिप्ट के माध्यम से चलेगा ताकि आप संभवतः "मुख्य" में कार्य करना चाहें।