هل يمكنني تعيين classloader سياسة WebSphere في ibm-web-bnd.xmi الملف ؟

StackOverflow https://stackoverflow.com/questions/813202

  •  03-07-2019
  •  | 
  •  

سؤال

لدي جي التطبيق الذي يعمل على 6.فإنه يحتاج إلى عربة الدرجة من أجل الإعداد إلى "فئات محملة مع التطبيق عربة الدرجة الأولى" ، الحرب عربة الدرجة سياسة تعيين الخيار إلى "صنف واحد محمل التطبيق".

هل من الممكن تحديد هذه الخيارات داخل الأذن الملف ، سواء في ibm-web-bnd.xmi الملف أو بعض الملفات الأخرى ، وبالتالي فإن الادارة لا تحتاج إلى تغيير هذه الإعدادات يدويا ؟

منذ نشر التطبيق عبر السيناريو الآلي ، الرجل الذي هو المسؤول عن النشر هو خارج الموقع و أيضا بعض أسباب سياسية ، وهذا من شأنه أن يساعد كثيرا!

هل كانت مفيدة؟

المحلول

وبفضل الجوابMatthew مردوخ، وكنت قادرا على التوصل إلى حل. ومن هنا، في حال أنه يساعد شخص آخر.

وأنا خلقت deployment.xml مثل هذا:

<?xml version="1.0" encoding="UTF-8"?>
<appdeployment:Deployment xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:appdeployment="http://www.ibm.com/websphere/appserver/schemas/5.0/appdeployment.xmi" xmi:id="Deployment_1241112964096">
  <deployedObject xmi:type="appdeployment:ApplicationDeployment" xmi:id="ApplicationDeployment_1241112964096" startingWeight="1" warClassLoaderPolicy="SINGLE">
    <classloader xmi:id="Classloader_1241112964096" mode="PARENT_LAST"/>
    <modules xmi:type="appdeployment:WebModuleDeployment" xmi:id="WebModuleDeployment_1241112964096" startingWeight="10000" uri="AGS.war">
      <classloader xmi:id="Classloader_1241112964097"/>
    </modules>
  </deployedObject>
</appdeployment:Deployment>

تأكد من تغيير اسم ملف WAR الخاص بك (ق) لمطابقة (يسمى الألغام AGS.war).

وأود أيضا أن تغير الأرقام في سمات xmi:id، للتأكد من أنها هي فريدة من نوعها، على الرغم من أنني لست متأكدا من أنه لا يهم حقا أنها تكون فريدة من نوعها عبر التطبيقات.

وبعد ذلك، أضع ملف deployment.xml في جذر ملف EAR بلدي، عبر ANT:

    <ear destfile="${artifactsDir}/${earName}.ear" appxml="${projectName}_EAR/application.xml">
        <fileset dir="${artifactsDir}" includes="${warName}.war"/>
        <fileset dir="${projectName}_EAR/" includes="deployment.xml"/>
    </ear>

نصائح أخرى

تحرير (2): على WebSphere ملقم التطبيق أدوات (AST) هو أداة يمكنك استخدامها لتعزيز الأذن الملف مع هذه المعلومات (انظر على سبيل المثال 'تكوين تعزيز الأذن' في القسم هذه الوثيقة).

تعديل (1): هذا المنصب تشير إلى أن 'الطبقات محملة مع التطبيق عربة الدرجة الأولى' (على PARENT_LAST الإعداد) يمكن تعيين في deployment.xml ملف داخل الأذن.

إذا كان لديك التحكم الآلي نشر مخطوطات هذا يمكن القيام به.وفيما يلي بعض wsadmin jython كود وضع ويب وحدة الصف محمل أجل 'الطبقات محملة مع التطبيق عربة الدرجة الأولى' (ومن المثير للاهتمام الإعداد يسمى PARENT_LAST وهو ما كان يوصف في الإصدارات السابقة من وحدة تحكم المشرف...).

wsadmin سبيل المثال (jython):

def getWebModule(config, applicationName):
    webModules = config.list('WebModuleDeployment').
         split(system.getProperty('line.separator'))
    for webModule in webModules:
        if (webModule.find(applicationName) != -1):
            return webModule
    return None

applicationName = "<Your application name here>"

webModule = getWebModule(AdminConfig, applicationName)
if (webModule != None):
    AdminConfig.modify(webModule, "[[classloaderMode PARENT_LAST]]")
    AdminConfig.save()
else:
    print "Error: Cannot find web module for application: " + applicationName

وراجع هذا الرابط. هناك طرق مختلفة لتحديد سياسة محمل فئة باستخدام جيثون على أساس إصدار الخادم الخاص بك - <وأ href = "http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp؟topic=٪2Fcom.ibm.websphere.express.doc٪2Finfo٪2Fexp٪2Fae٪2Frxml_7libapp4.html" يختلط = "نوفولو"> http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp؟topic=٪2Fcom.ibm.websphere.express.doc٪2Finfo٪2Fexp٪2Fae٪2Frxml_7libapp4.html

وعلى غرار الجواب من pkaeding، اكتشفت على النحو التالي، ليست محددة ل.war خاصة بالاسم، ولكن من المفيد عند تطبيق على كل ما هو .war الافتراضية في ملف .ear. (ملفات .ear مع ملف .war واحد فيهم لا تملك إلا أن .war، لذلك تسمية .war ليست ضرورية في إدخال). وهذا النهج قد تكون جيدة في الحالات التي قد تحتاج إلى إعادة اسم .war المشروع لاحقا لسبب ما، وهكذا كنت لا داعي للقلق حول تحديث الملف deployment.xml. لقد وجدت ملف deployment.xml دفن داخل درب خلية الدليل المرجعي؛ دونو ما اذا كان على ما يرام كما هو مبين عندما يتم وضع الملف في دليل META-INF مستوى ولا أعمق.

في حالتي خاصة، وجدت deployment.xml في مشروعي .ear على العنوان التالي:

\ META-INF \ ibmconfig \ خلايا \ defaultCell \ تطبيقات \ defaultApp \ نشر \ defaultApp \

ومحتوى الملف يتطلع الكثير مثل:

<appdeployment:Deployment xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
     xmlns:appdeployment="http://www.ibm.com/websphere/appserver/schemas/5.0/appdeployment.xmi" xmi:id="Deployment_1262775196208">
  <deployedObject xmi:type="appdeployment:ApplicationDeployment"
    xmi:id="ApplicationDeployment_1262775196208" startingWeight="10">
      <classloader xmi:id="Classloader_1262775196208" mode="PARENT_LAST" />
  </deployedObject>
</appdeployment:Deployment>

والخط:

<classloader xmi:id="Classloader_1262775196208" mode="PARENT_LAST" />

وقراءة في الأصل:

<classloader xmi:id="Classloader_1262775196208" mode="PARENT_FIRST" />

ملاحظة يتم إحراز أي إشارة إلى أي .war. كما ذكر pkaeding، يجب أن لا نتوقع أن أرقام هوية مختلفة لتكون هي نفسها بالنسبة لك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top