Configure dispatch-policy in deployment plan, wls 9.2

Hello,
We are planning to use deployment plans to configure applications post-compile time, such as assigning it a particular work manager which is defined globally. The problem is that weblogic seems to ignore the dispatch-policy configured in the plan, at least there is no evidence that the ejb is actually using specified work manager, even though it merges the plan with the descriptor.
The sections in my deployment plan looks as follows:
<variable-definition>
<variable>
<name>dispatch-policy_0</name>
<value>wm02</value>
</variable>
<variable-assignment>
<name>dispatch-policy_0</name>
<xpath>/weblogic-ejb-jar/weblogic-enterprise-bean/\[ejb-name="xx.xx.xx.myejb"\]/dispatch-policy</xpath>
</variable-assignment>

Hi,
I ran a quick test where I removed the work manager i referenced in the deployment plan, and behold, the server whined about referring to a missing work manager, so it "worked" all the time, there was just no way to test it.
Anyway, than you for the help, it was really appreciated. :)
Another thing I'm wondering about is XPath functions, and whether weblogic supports them in deployment plans. If I for example would like to insert the dispatch policy for some ejb with a name partially matching a string, I thought the XPath */weblogic-ejb-jar/weblogic-enterprise-bean[ejb-name/dispatch-policy* would do the trick, however this is not liked by weblogic since it requires name value pairs. Is there another way to use the contains()-function according to this requirement?
Regards
Olov                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Similar Messages

  • Overriding spring configuration in J2EE deployment plan?

    I would like some suggestions on how to solve this problem:
    Background:
    We are developing an application with a web interface and a couple of EJB's, which will be deployed on WebLogic 9.2. We are using Spring 1.2.8. We are using a ContextSingletonBeanfactoryLocator to have a shared application context between the web app and the EJB's.
    We have some configuration values (server names, URLs, directories etc), which we would like to modify at deployment time, depending on the environment (local/dev/test/uat/prod). However, we definitely do not want to build different .ear files for each environment.
    The problem:
    The normal way to do this (when not using spring) is to place these in a deployment descriptor (e.g. web.xml or ejb-jar.xml) and then override them with a deployment plan at deployment time. But a deployment plan cannot override values in an arbitrary file (such as applicationContext.xml)
    Approach A:
    I use a PropertyPlaceholderConfigurer or similar to load an "c:\myapp.environment.properties" file, which was placed in the filesystem outside of the ear, and which was different in all environments. This is simple to implement, but in a distributed environment with many servers and many applications, it will be a pain to maintain this file.
    Approach B:
    Much like approach A, but put the property file in a separate application library and load it from the classpath. Then maintain a different version of this app library for each environment. This makes it simpler to ensure it's deployed to all managed servers - but it's a bit more complicated to maintain.
    Approach C:
    Use an extended ContextLoaderListener servlet so that it automatically deployed a PropertyPlaceholderConfigurer bean which expanded all context-params. E.g.
    <pre>
    <!-- web.xml -->
    <context-param>
    <param-name>remoteServerName</param-name>
    <param-value>myRemoteServerInDev</param-value>
    </context-param>
    <context-param>
    <param-name>fileDirectory</param-name>
    <param-value>c:\files</param-value>
    </context-param>
    <listener>
    <listener-class>
    dk.pfa.ConfiguringContextLoaderListener
    </listener-class>
    </listener>
    </pre>
    In my applicationContext.xml, I would then have <property name="serverName" value="${remoteServerName}"/>
    For production, I could override the web.xml in the deployment plan to set remoteServerName to "prodRemoteServer".
    The problem is that I cannot be sure that this servlet actually gets to configure the shared application context - an EJB may initialise first.
    I could put similar logic in each and every EJB, using <env-entry> in ejb-jar.xml instead of <context-param> in web.xml. This seems to invite trouble, since I would then have to ensure that the deployment plan had overridden values for all these entries as well .
    Finally I have the option of making an application lifecycle listener class - but that cannot access the web.xml, ejb-jar.xml or any other deployment-plan-overridable files, where I can put user-defined values .
    So what is the best practice? Or just a reasonable approach?
    Surely, I cannot be the first to face this problem, but if somebody has solved it, they forgot to mention it to Google

    I would vote for A or B

  • Remote deploys from Windows to Linux fail with deployment plans on WLS 10.0

    Hi there,
    We're using WLS 10.0.1 running in a RHEL environment (actually CentOS release 4.7 for development), and attempting to perform remote deploys from Windows work stations using the weblogic.Deployer ant task.
    It works fine when not using deployment plans, or when performing a remote deploy from a unix based work station such as a Mac. However, introducing a deployment plan causes a failure only when run from Windows.
    The log trace follows:
    weblogic.Deployer -debug -remote -verbose -upload -noexit -name obpservices -source C:\work\obf\ver4.0\services\target\obpservices.war -targets obEnterpriseServer -adminurl t3://wlsdev:7001 -user weblogic -password ******** -redeploy -plan C:\work\obf\ver4.0\services/src/runtime/deployment-plans/steves-deployment-plan.xml
    weblogic.Deployer invoked with options: -debug -remote -verbose -upload -noexit -name obpservices -source C:\work\obf\ver4.0\services\target\obpservices.war -targets obEnterpriseServer -adminurl t3://wlsdev:7001 -user weblogic -redeploy -plan C:\work\obf\ver4.0\services/src/runtime/deployment-plans/steves-deployment-plan.xml
    [WebLogicDeploymentManagerImpl.<init>():103] : Constructing DeploymentManager for J2EE version V1_4 deployments
    [WebLogicDeploymentManagerImpl.getNewConnection():146] : Connecting to admin server at wlsdev:7001, as user weblogic
    [ServerConnectionImpl.getEnvironment():288] : setting environment
    [ServerConnectionImpl.getEnvironment():291] : getting context using t3://wlsdev:7001
    [ServerConnectionImpl.getMBeanServer():239] : Connecting to MBeanServer at service:jmx:t3://wlsdev:7001/jndi/weblogic.management.mbeanservers.domainruntime
    [ServerConnectionImpl.getMBeanServer():239] : Connecting to MBeanServer at service:jmx:t3://wlsdev:7001/jndi/weblogic.management.mbeanservers.runtime
    [DomainManager.resetDomain():36] : Getting new domain
    [DomainManager.resetDomain():39] : Using pending domain: false
    [MBeanCache.addNotificationListener():96] : Adding notification listener for weblogic.deploy.api.spi.deploy.mbeans.TargetCache@359df4
    [MBeanCache.addNotificationListener():103] : Added notification listener for weblogic.deploy.api.spi.deploy.mbeans.TargetCache@359df4
    [MBeanCache.addNotificationListener():96] : Adding notification listener for weblogic.deploy.api.spi.deploy.mbeans.ModuleCache@375edb
    [MBeanCache.addNotificationListener():103] : Added notification listener for weblogic.deploy.api.spi.deploy.mbeans.ModuleCache@375edb
    [ServerConnectionImpl.initialize():171] : Connected to WLS domain: obportal_domain
    [ServerConnectionImpl.setRemote():482] : Running in remote mode
    [ServerConnectionImpl.init():161] : Initializing ServerConnection : [email protected]9a
    [BasicOperation.dumpTmids():691] : Incoming tmids:
    [BasicOperation.dumpTmids():693] : {Target=obEnterpriseServer, WebLogicTargetType=server, Name=obpservices}, targeted=true
    [RedeployOperation.setupPaths():86] : in place redeploy: false from moduleArchive: C:\work\obf\ver4.0\services\target\obpservices.war
    [RedeployOperation.setupPaths():95] : redeploy src path: C:\work\obf\ver4.0\services\target\obpservices.war
    [BasicOperation.deriveAppName():140] : appname established as: obpservices
    <20/10/2009 10:47:57 AM EST> <Info> <J2EE Deployment SPI> <BEA-260121> <Initiating redeploy operation for application, obpservices [archive: C:\work\obf\ver4.0\services\target\obpservices.war], to obEnterpriseServer .>
    [ServerConnectionImpl.upload():658] : Uploaded app to /opt/bea/user_projects/domains/obportal_domain/servers/AdminServer/upload/obpservices
    [BasicOperation.dumpTmids():691] : Incoming tmids:
    [BasicOperation.dumpTmids():693] : {Target=obEnterpriseServer, WebLogicTargetType=server, Name=obpservices}, targeted=true
    [BasicOperation.loadGeneralOptions():608] : Delete Files:false
    Timeout :3600000
    Targets:
    obEnterpriseServer
    ModuleTargets={}
    SubModuleTargets={}
    Files:
    null
    Deployment Plan: \opt\bea\user_projects\domains\obportal_domain\servers\AdminServer\upload\obpservices\plan\steves-deplo
    yment-plan.xml
    App root: \opt\bea\user_projects\domains\obportal_domain\servers\AdminServer\upload\obpservices
    App config: \opt\bea\user_projects\domains\obportal_domain\servers\AdminServer\upload\obpservices\plan
    Deployment Options: {isRetireGracefully=true,isGracefulProductionToAdmin=false,isGracefulIgnoreSessions=false,rmiGracePeriod=-1,retireTimeoutSecs=-1,undeployAllVersions=false,archiveVersion=null,planVersion=null,isLibrary=false,libSpecVersion=null,libImplVersion=null,stageMode=null,clusterTimeout=3600000,altDD=null,altWlsDD=null,name=obpservices,securityModel=null,securityValidationEnabled=false,versionIdentifier=null,isTestMode=false,forceUndeployTimeout=0,defaultSubmoduleTargets=true,timeout=0}
    [BasicOperation.execute():425] : Initiating redeploy operation for app, obpservices, on targets:
    [BasicOperation.execute():427] : obEnterpriseServer
    [RedeployOperation.initializeTask():55] : Starting task with path: \opt\bea\user_projects\domains\obportal_domain\servers\AdminServer\upload\obpservices\app\obpservices.war
    java.io.FileNotFoundException: \opt\bea\user_projects\domains\obportal_domain\servers\AdminServer\upload\obpservices\plan\steves-deployment-plan.xml (No such file or directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:106)
    at weblogic.deploy.internal.adminserver.operations.AbstractOperation.parsePlan(AbstractOperation.java:1027)
    at weblogic.deploy.internal.adminserver.operations.AbstractOperation.execute(AbstractOperation.java:133)
    at weblogic.management.deploy.internal.DeployerRuntimeImpl$2.run(DeployerRuntimeImpl.java:816)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.management.deploy.internal.DeployerRuntimeImpl.performDeployerActions(DeployerRuntimeImpl.java:810)
    at weblogic.management.deploy.internal.DeployerRuntimeImpl.redeploy(DeployerRuntimeImpl.java:568)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at weblogic.management.jmx.modelmbean.WLSModelMBean.invoke(WLSModelMBean.java:443)
    at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
    at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
    at weblogic.management.mbeanservers.domainruntime.internal.FederatedMBeanServerInterceptor.invoke(FederatedMBeanServerInterceptor.java:248)
    at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.invoke(WLSMBeanServerInterceptorBase.java:153)
    at weblogic.management.mbeanservers.internal.SecurityMBeanMgmtOpsInterceptor.invoke(SecurityMBeanMgmtOpsInterceptor.java:63)
    at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.invoke(WLSMBeanServerInterceptorBase.java:153)
    at weblogic.management.mbeanservers.internal.SecurityInterceptor.invoke(SecurityInterceptor.java:443)
    at weblogic.management.mbeanservers.internal.AuthenticatedSubjectInterceptor$10.run(AuthenticatedSubjectInterceptor.java:377)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.management.mbeanservers.internal.AuthenticatedSubjectInterceptor.invoke(AuthenticatedSubjectInterceptor.java:375)
    at weblogic.management.jmx.mbeanserver.WLSMBeanServer.invoke(WLSMBeanServer.java:310)
    at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1408)
    at javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81)
    at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245)
    at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1348)
    at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:782)
    at javax.management.remote.rmi.RMIConnectionImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:479)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:475)
    at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:59)
    at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:1016)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
    [ServerConnectionImpl.close():334] : Closing DM connection
    [ServerConnectionImpl.close():354] : Unregistered all listeners
    [ServerConnectionImpl.closeJMX():374] : Closed JMX connection
    [ServerConnectionImpl.closeJMX():386] : Closed Runtime JMX connection
    [ServerConnectionImpl.closeJMX():398] : Closed Edit JMX connection
    Note the file path that cannot be found: "\opt\bea\user_projects\domains\obportal_domain\servers\AdminServer\upload\obpservices\plan\steves-deployment-plan.xml ".
    Of course this file does actually exist when the correct path separators are used.
    Is this a bug? Is there anything we can do about it? The chances of us upgrading WLS are very remote unfortunately.
    Thanks in advance,
    Steve C

    This is something you should definitely file an Oracle support ticket for. It's entirely possible there's a patch for this.

  • Working with xpath attribute values in WLS 12c deployment plans

    I'm trying to use a deployment plan to adjust the hibernate.dialect property in persistence.xml
    persistence.xml
    <property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect" />
    but whenever I attempt to refer to attributes in xpath using the usual @ sign, I get an XPathLexer barf.
    plan.xml
    <variable>
              <name>dialect</name>
               <value xsi:nil="false">org.hibernate.dialect.Oracle10gDialect</value>
    </variable>
                 <variable-assignment>
                     <name>dialect</name>
                     <xpath>/persistence/persistence-unit[@name="DPLV1PU"]/properties/property[@name="hibernate.dialect"]/@value</xpath>
                     <operation>replace</operation>
                 </variable-assignment>
    I receive:
    Error loading the persistence descriptor META-INF/persistence.xml from the module DPLV1EJB.jar.  See the following stack trace for nested errors: weblogic.application.descriptor.DeploymentPlanException: [Munger:2156213]An error occurred while parsing the specifed XPath "/persistence/persistence-unit[@name="DPLV1PU"]/properties/property[@name="hibernate.dialect"]/@value" : line 1:31: unexpected char: '@'.
    line 1:31: unexpected char: '@'
      at weblogic.application.descriptor.parser.XPathLexer.nextToken(XPathLexer.java:148)
    It seems wrong that I can't use a basic xpath feature like the @ to refer to an attribute here. Nor does the alternative axis syntax attribute:: work.
    It's almost like there isn't a real XPath implementation under there. 

    Hi Chris,
    I remember an earlier discussion along these lines... I haven't tested this myself, but the docs do say this:
    Generic File Loading Overrides
    This feature allows you to place application-specific files to be overridden into a new optional subdirectory (named /AppFileOverrides) in the existing plan directory structure. The presence or absence of this new optional subdirectory controls whether file overrides are enabled for the deployment. If this subdirectory is present, an internal ClassFinder is added to the front of the application and module classloaders for the deployment. As a result, the file override hierarchy rules follow the existing classloader and resource loading rules and behaviors for applications. For more information on WebLogic Server application classloading, see WebLogic Server Application Classloading in Developing Applications for Oracle WebLogic Server.
    It seems to me that this would be the way to customise the bc4j.xcfg in the deployment plan. In the 10g days, I did this by building my EARs using ANT - I had several bc4j.xcfg files sitting in a separate directory, and each of my targets (dev/test/qa/prod) used the appropriate bc4j.xcfg to build the EAR. I did do a bit of research, and I didn't find anything obvious that would let you use a deployment plan directly for changing bc4j.xcfg - you cannot use the WLS console to change any of the properties (if you could do it via a deployment plan directly, I would expect to find the option there).
    Sorry for the rambling post which doesn't give you any definitive answers, but it's just a brain dump at this point.
    John

  • WLS 10.3.5 : upload a Deployment Plan Archive

    hi
    Please consider the WebLogic Server 10.3.5 console "Summary of Deployments" page, where an "Install" button takes you to the first page of the "Install Application Assistant" which says "... If you cannot find your deployment files, upload your file(s) ..."
    with a link to the page where you can select and upload a "Deployment Archive" and a "Deployment Plan Archive",
    a shown in the screenshot at http://www.consideringred.com/files/oracle/img/2011/WLS1035-DeploymentPlanArchive.png
    For this "Deployment Plan Archive" the page has a description that says
    "A deployment plan is a configuration which can supplement the descriptors included in the deployment archive. A deployment will work without a deployment plan, but you can also upload a deployment plan archive now. This deployment plan archive will be a directory of configuration information packaged as a .jar file. See related links for additional information about deployment plans. "
    So, there seems to be a difference between a deployment plan file (plan.xml) and a deployment plan archive (JAR file).
    - (q1) Where can I find documentation on what such deployment plan archive (JAR file) should look like?
    many thanks
    Jan Vervecken

    fyi
    In the context of service request 3-4667732128 I got this feedback:
    "Deployment Plan Archive" Option that we have in WebLogic Console at Deployment Service is new feature added from 11G and currently not under full fledged implementation, so that's the reason its not documented in any of the Oracle Documentation.regards
    Jan

  • Deployment plan to update web.xml

    Hello,
    Is it possible to use a deployement plan to update the web.xml file of an war inside an ear ?
    I would like to map a servlet on a new URI using a new workmanager by configuration (I mean once my application is built) I suppose it is possible to use the deployment plan to add a section inside the web.xml.
    For example, I would like to add the folowing section :
    <servlet>
    <servlet-name>DummyServlet</servlet-name>
    <servlet-class>com.company.servlets.DummyServlet</servlet-class>
    <init-param>
    <param-name>wl-dispatch-policy</param-name>
    <param-value>DummyWorkManager</param-value>
    </init-param>
    </servlet>
    <servlet-mapping>
    <servlet-name>DummyServlet</servlet-name>
    <url-pattern>/myDummyServlet</url-pattern>
    </servlet-mapping>
    Thank you for helping me on this point
    Best Regards,
    C.

    To my knowledge you can not add elements to your deployment descriptors, but you can change them, for example
    say we have the following ejb-jar.xml
    <ejb-jar ...>
        <enterprise-beans>
            <session>
                <ejb-name>Bedrijf</ejb-name>
                <env-entry>
                    <env-entry-name>something</env-entry-name>
                    <env-entry-type>java.lang.String</env-entry-type>
                    <env-entry-value>iets</env-entry-value>
                </env-entry>
            </session>
        </enterprise-beans>
    </ejb-jar>and we want to change the value of something. Now we can generate a plan.xml (for example by using weblogic.Plangenerator
    http://download.oracle.com/docs/cd/E13222_01/wls/docs90/deployment/wlplangenerator.html). When we do this for an EAR
    file we get something like the following:
    <?xml version='1.0' encoding='UTF-8'?>
    <deployment-plan xmlns="http://xmlns.oracle.com/weblogic/deployment-plan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/deployment-plan http://xmlns.oracle.com/weblogic/deployment-plan/1.0/deployment-plan.xsd">
      <application-name>test</application-name>
      <variable-definition>
        <variable>
          <name>SessionDescriptor_timeoutSecs_12870427304900</name>
          <value>1800</value>
        </variable> 
        <variable>
            <name>something</name>
            <value>anders</value>
        </variable>
      </variable-definition>
      <module-override>
        <module-name>EJBSessionBeans.ear</module-name>
        <module-type>ear</module-type>
        <module-descriptor external="true">
          <root-element>weblogic-application</root-element>
          <uri>META-INF/weblogic-application.xml</uri>
          <variable-assignment>
            <name>SessionDescriptor_timeoutSecs_12870427304900</name>
            <xpath>/weblogic-application/session-descriptor/timeout-secs</xpath>
          </variable-assignment>
        </module-descriptor>
        <module-descriptor external="false">
          <root-element>application</root-element>
          <uri>META-INF/application.xml</uri>
        </module-descriptor>
        <module-descriptor external="true">
          <root-element>wldf-resource</root-element>
          <uri>META-INF/weblogic-diagnostics.xml</uri>
        </module-descriptor>
      </module-override>
      <module-override>
        <module-name>Model.jar</module-name>
        <module-type>ejb</module-type>
        <module-descriptor external="true">
          <root-element>weblogic-ejb-jar</root-element>
          <uri>META-INF/weblogic-ejb-jar.xml</uri>
        </module-descriptor>
        <module-descriptor external="false">
          <root-element>ejb-jar</root-element>
          <uri>META-INF/ejb-jar.xml</uri>
           <variable-assignment>
            <name>something</name>
            <xpath>/ejb-jar/enterprise-beans/session/[ejb-name="Bedrijf"]/env-entry/[env-entry-name="something"]/env-entry-value</xpath>
            <operation>replace</operation>
          </variable-assignment>
        </module-descriptor>
      </module-override>
      <module-override>
        <module-name>Userinterface.war</module-name>
        <module-type>war</module-type>
        <module-descriptor external="true">
          <root-element>weblogic-web-app</root-element>
          <uri>WEB-INF/weblogic.xml</uri>
          <hash-code>1287042734068</hash-code>
        </module-descriptor>
        <module-descriptor external="false">
          <root-element>web-app</root-element>
          <uri>WEB-INF/web.xml</uri>
        </module-descriptor>
      </module-override>
      <config-root>...</config-root>
    </deployment-plan>To this plan.xml we added a variable definition
    <variable-definition>
          <variable>
            <name>something</name>
            <value>anders</value>
        </variable>
    </variable-definition>To change the contents of the variable something we add the following to the ejb-jar module section
    <module-descriptor external="false">
          <variable-assignment>
            <name>something</name>
            <xpath>/ejb-jar/enterprise-beans/session/[ejb-name="Bedrijf"]/env-entry/[env-entry-name="something"]/env-entry-value</xpath>
            <operation>replace</operation>
          </variable-assignment>
        </module-descriptor>The same steps can be followed when you want to change the contents of your web.xml (but note that the elements must be present
    otherwise the xpath assignment will not work)

  • Weblogic deployment plan will not override variables (Weblogic 10.3.5).

    I am having some trouble trying to adjust the deployment settings of our application in weblogic. I feel what I'm trying to do ought to be quite simple, but it's not working as expected.
    I am just trying to override the context-root in weblogic.xml and the JNDI name for the data source, so these can both be configured at deployment time.
    I have removed the application.xml from the ear file, so that shouldn't be affecting the overrides.
    What I have so far:
    weblogic.xml:
    <?xml version='1.0' encoding='UTF-8'?>
    <weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd">
    <context-root>mosaic</context-root>
    <resource-description>
    <res-ref-name>jdbc/LogicalDS</res-ref-name>
    <jndi-name>LogicalDS</jndi-name>
    </resource-description>
    web.xml
    <?xml version='1.0' encoding='UTF-8'?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <resource-ref>
    <description>A logical reference to the datasource - mapped in deployment plan</description>
    <res-ref-name>jdbc/LogicalDS</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    plan.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <wls:deployment-plan xmlns:wls="http://xmlns.oracle.com/weblogic/deployment-plan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/deployment-plan http://xmlns.oracle.com/weblogic/deployment-plan/1.0/deployment-plan.xsd http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/j2ee_1_4.xsd" global-variables="true">
    <!--weblogic-version:10.3.5-->
    <wls:application-name>mosaic.ear</wls:application-name>
    <wls:variable-definition>
    <wls:variable>
    <wls:name>datasource_name</wls:name>
    <wls:value xsi:nil="true"></wls:value>
    <wls:description>The name of the datasource to map to the mosaic application</wls:description>
    </wls:variable>
    <wls:variable>
    <wls:name>new_context_root</wls:name>
    <wls:value xsi:nil="true"></wls:value>
    <wls:description>URL to deploy Mosaic at</wls:description>
    </wls:variable>
    </wls:variable-definition>
    <wls:module-override>
    <wls:module-name>mosaic.war</wls:module-name>
    <wls:module-type>war</wls:module-type>
    <wls:module-descriptor>
    <wls:root-element>weblogic-web-app</wls:root-element>
    <wls:uri>WEB-INF/weblogic.xml</wls:uri>
    <wls:variable-assignment>
    <wls:name>new_context_root</wls:name>
    <wls:xpath>/weblogic-web-app/context-root</wls:xpath>
    <wls:operation>replace</wls:operation>
    </wls:variable-assignment>
    <wls:variable-assignment>
    <wls:description>Data source for mosaic application</wls:description>
    <wls:name>datasource_name</wls:name>
    <wls:xpath>/weblogic-web-app/resource-env-description/resource-env-ref-name</wls:xpath>
    <wls:operation>replace</wls:operation>
    </wls:variable-assignment>
    <wls:variable-assignment>
    <wls:name>datasource_name</wls:name>
    <wls:xpath>/weblogic-web-app/resource-description/[res-ref-name="jdbc/LogicalDS"]/jndi-name</wls:xpath>
    <wls:operation>replace</wls:operation>
    </wls:variable-assignment>
    </wls:module-descriptor>
    </wls:module-override>
    </wls:deployment-plan>
    Nothing happens when I use the deployment plan, and neither of the variables appear under the Deployment Plan configuration screens in the admin console. From what I understand, I should at least be asked for these variables, since I have specified that they are null in the deployment plan.
    When I use WLST to browse the tree, I find that the runtime configuration just stays as the values in the deployment descriptors.
    I have verified the deployment plan is being used in the general tab of the admin console.
    Can anyone help me find out what I am doing wrong here? If I don't create a data source called LogicalDS, I get errors about this, suggesting it is not correctly overriding. I am puzzled to why I do not see any variables to specify though..

    The documentation implies that this is not the case - see:
    http://docs.oracle.com/cd/E24329_01/web.1211/e24443/export.htm#autoId13
    'Assigning Null Variables to Require Administrator Input'.
    However, require administrator input where? My thoughts were that this option would appear in the admin console under 'deployment plan'. However, although I have specified resource dependencies in the deployment descriptors, and the plan, nothing appears under 'resource dependencies' for the application.
    Is the only way to change the context-root deployment URL by actually manually editing an XML file?
    To me that seems primitive and will cause us support issues when distributing our application - is there any other way I can enable the ability to specify the data source name and context-root through the web console prior to/during deployment?
    Edited by: user12032953 on 11-Jun-2012 07:20

  • OSB: Proxy Service and Dispatch Policy

    Hi all,
    I'm trying to use OSB (10.3) proxy service with dispatch policy set to WebLogic (10.3) work manager to limit maximum number of threads allocated for request to this proxy service.
    It seems to me that whole dispatch policy setting is ignored in OSB. The situation is like this: I have simple Axis based web service with wait method that just waits for few seconds (based on request parameter). I use this service for testing (hm, so far just for trying to understand) OSB dispatch policy function.
    Using soapUI I created a simple load test which uses 10 threads to call wait(10) - it means "wait for 10 seconds". Time limit for the whole load test is set to 20 seconds. It is clear that the total execution count is 2 x 10 = 20. So far, so good.
    Then I created simple proxy service in OSB that just routes request to business service representing my Axis service with wait method. I set a dispatch policy for the proxy service to WorkManager-2threads (see below) and I expected that running the same load test with endpoint set to OSB would result in significant lower total execution count. I expected that because WebLogic should allocate 2 threads at most for all requests to this proxy service. However, that's not the case as the result is the same as in the first (Axis only) test. Just as there was no dispatch policy settings at all ...
    Where is the problem?
    This is the relevant part of my WebLogic configuration regarding work manager:
    <max-threads-constraint>
    <name>MaxThreadsConstraint-2</name>
    <target>AdminServer</target>
    <count>2</count>
    <connection-pool-name></connection-pool-name>
    </max-threads-constraint>
    <work-manager>
    <name>WorkManager-2threads</name>
    <target>AdminServer</target>
    <max-threads-constraint>MaxThreadsConstraint-2</max-threads-constraint>
    <capacity xsi:nil="true"></capacity>
    <ignore-stuck-threads>false</ignore-stuck-threads>
    </work-manager>

    It's same problem to me. I do pressure test by loadrunner,I deployed two separate proxy service,under same concurrent user,I get same TPS from the two proxy service.but when I add low priority concurrent user,low priority TPS up.
    I set the Route option as you say,but weblogic hanged immediately,and can't be accessed by the console.

  • WebLogic 10.2 Annotation Override/Deployment Plan Issue

    We're migrating applications from WLS 9.2.1 over to 10.2. When we create the deployment plan and configure the overrides we find that some of the web service controls overrides are ignored and the defaults are used.
    This was not an issue for 9.2.1 and I've not been able to find any information about this.
    Has anyone experienced this before?
    Chris

    This issue turned out to be a missing target during the ant build process.

  • How do I change the context-root of a web app with a deployment plan?

    I've been trying to figure this out for several hours.
    I'm deploying a .ear file which sets the context root for the single web application it deploys in its application.xml deployment descriptor:
    <application>
    <display-name>MyApp</display-name>
    <module>
    <web>
    <web-uri>MyAppViewControler.war</web-uri>
    <context-root>MyApp</context-root>
    </web>
    </module>
    </application>
    I want to change the context-root from /MyApp to something else when deploying the ear file. It seemed to me that using a deployment plan was the way to do this. But when I use this plan:
    <deployment-plan>
    <application-name>MyApp<application-name>
    <variable-definition>
    <variable>
    <name>NEWCONTEXTROOT</name>
    <value>foobar</value>
    </variable>
    </variable-definition>
    <module-override>
    <module-name>MyApp</module-name>
    <module-type>ear</module-type>
    <module-descriptor external="false">
    <root-element>application</root-element>
    <uri>META-INF/application.xml</uri>
    <variable-assignment>
    <name>NEWCONTEXTROOT</name>
    <xpath>/application/module/web/context-root</xpath>
    </variable-assignment>
    </module-descriptor>
    </module-override>
    </deployment-plan>
    I get an error:
    weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND
    /bea/user_projects/domains/devod1/nullplan.xml:0: problem: cvc-complex-type.2.4a: Expected element 'web-uri@http://java.sun.com/xml/ns/javaee' instead of 'context-root@http://java.sun.com/xml/ns/javaee' here in element web@http://java.sun.com/xml/ns/javaee:<nullplan.xml>
    I looked at http://e-docs.bea.com/wls/docs103/pdf/deployment.pdf which says:
    "You cannot use a deployment plan to change the context-root in an application.xml
    file. However, if an application is deployed as a library, you can either change the
    context-root through an weblogic-application.xml file or use the deployment plan
    to change the context-root in an weblogic-application.xml file."
    I don't understand what this means. I'm not deploying my application as a library.
    Does anyone know how to change the context-root for an application?
    Any help would be greatly appreciated!

    Hi James,
    I am quite new to Welogic if i am wrong please correct me.I have re-deployed my application (.war) with this Plan.xml
    &lt;?xml version='1.0' encoding='UTF-8'?&gt;
    &lt;deployment-plan xmlns="http://www.bea.com/ns/weblogic/deployment-plan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/deployment-plan http://www.bea.com/ns/weblogic/deployment-plan/1.0/deployment-plan.xsd" global-variables="false"&gt;
    &lt;application-name&gt;BrowserR08.003&lt;/application-name&gt;
    *&lt;variable-definition&gt;*
    * &lt;variable&gt;*
    * &lt;name&gt;CONTEXTROOT&lt;/name&gt;*
    * &lt;value&gt;BrowserWeb/servlet/BrowserServlet&lt;/value&gt;*
    * &lt;/variable&gt;*
    * &lt;/variable-definition&gt;*
    &lt;module-override&gt;
    &lt;module-name&gt;BrowserWeb.war&lt;/module-name&gt;
    &lt;module-type&gt;war&lt;/module-type&gt;
    &lt;module-descriptor external="true"&gt;
    &lt;root-element&gt;weblogic-web-app&lt;/root-element&gt;
    &lt;uri&gt;WEB-INF/weblogic.xml&lt;/uri&gt;
    &lt;hash-code&gt;1231953167814&lt;/hash-code&gt;
    *&lt;variable-assignment&gt;*
    * &lt;name&gt;CONTEXTROOT&lt;/name&gt;*
    * &lt;xpath&gt;/weblogic-web-app/context-root&lt;/xpath&gt;*
    * &lt;operation&gt;add&lt;/operation&gt;*
    * &lt;/variable-assignment&gt;*
    &lt;/module-descriptor&gt;
    &lt;module-descriptor external="false"&gt;
    &lt;root-element&gt;web-app&lt;/root-element&gt;
    &lt;uri&gt;WEB-INF/web.xml&lt;/uri&gt;
    &lt;/module-descriptor&gt;
    &lt;module-descriptor external="true"&gt;
    &lt;root-element&gt;wldf-resource&lt;/root-element&gt;
    &lt;uri&gt;META-INF/weblogic-diagnostics.xml&lt;/uri&gt;
    &lt;/module-descriptor&gt;
    &lt;/module-override&gt;
    &lt;config-root&gt;/export/home1/tecapp/BrowserR08.003/plan&lt;/config-root&gt;
    &lt;/deployment-plan&gt;
    I do not know wether i will require the other module descriptor definition in this Plzn.xml. Now when I go to following link.
    Deployments --&gt; MyApp --&gt; Testing
    It gives me following url as a test page:
    http://localhost:7001/BrowserWeb/servlet/BrowserServlet
    as soon as i click on to the above link it redirects me to following.
    http://localhost:7001/BrowserWeb/servlet/BrowserServlet/servlet/BrowserServlet
    Same if i remove these context-root part my normal Testing menu shows me following link as my webapp access path
    http://localhost:7001/BrowserWeb &lt;-- My war file name is BrowserWeb.war so it is default name of my deployed application if i am not wrong
    and as soon as i click on above link it redirects me to the following one.
    http://localhost:7001/BrowserWeb/servlet/BrowserServlet
    It means application server know that my full web access page is with '*servlet/BrowserServlet*' because its adding it in both the cases.
    What I want is a constant URL whcih does not change?
    Hope this helps :)

  • How to create a deployment plan for an existing application?

    Using WebLogic 10MP1.
    I have an existing EAR deployment, and I want to create a deployment plan so I can make changes to it without changing the EAR file itself. My goal is to change the value of the "precompile" flag in all the web modules.
    I've read the documentation on creating deployment plans, and it doesn't seem like it's doing anything. That is, I was able to run "weblogic.PlanGenerator" from the command line, but that's about my only success.
    The doc says that if you make a change to the app config and save it, that will prompt for a place to save the deployment plan. This seems odd, as I'm pretty sure I've never seen a prompt like that before. It didn't happen for me. As a test, I tried changing the "Deployment Order" field. I activated it, and then I changed it back and activated that. No deployment plan prompt.
    I then read that if there is a "plan" subdirectory off the application root containing the deployment plan, WebLogic will use that at deployment. So, I created a "plan" subdir in my EAR tree, put the generated (from "weblogic.PlanGenerator") plan there, and restarted. I didn't notice any log message about the plan, and when I logged into the console to check the "Deployment Plan" tab on the deployment ("Tuning Parameters" subtab), it says "No variables present".
    I must be missing some simple detail.

    In case anyone else ever has this problem, I've been able to resolve this.
    I used "weblogic.planGenerator" on the command line to get a deployment plan to start with. The obstacle I had was actually finding the "Update" button. For some reason I had thought this button the docs refer to was on the "Deployment Plan" tab in the configuration of the deployment. It's actually on the list of the deployments, and is active when the deployment you want to configure is checked.
    Once I got there, I was able to enter the path to my deployment plan, which I edited to produce the result I wanted (turning on "precompile" on most of the modules). Once I stored all that and restarted my server, I was able to verify that the server was precompiling on deployment (although it's hard to tell if I don't have any JSP compile errors. :) ).

  • How to map a resource-ref in Jdev11 deployment plan editor

    Hi all,
    I have a ADF/BC web application where the BC4J application module does connect to a JNDI data source.
    The ViewController project does declare the Datasource as needed resource in its web.xml:
    <resource-ref>
    <res-ref-name>jdbc/wlogDS</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    Now i need to map that resouurce-ref to an actual data source that exist in the application container at deploy time.
    As already in JDev 10.1.3 the deployment-plan editor provided during deployment from JDeveloper does not provide any means to enter the deployment mapping for that resourc-ref (When clicking on the node (which is named resouce-ref - that becomes very confusing in case you have defined three resource-refs in your web.xml) the right pane shows a gray pane without any edit controls) So I cannot enter the resource-ref-mapping unsing the Jdev UI.
    My workaround in 10.1.3 was to save the deployment plan to disk and manually edit it, adding
    <resource-ref-mapping name="jdbc/wlogDS" location="jdbc/wlogTestEnvDS">
    </resource-ref-mapping>
    to the orion-web-app document for that webapp
    But in Jdev 11 the deployment plan file format changed (including some binary inline checksums???)and when doing exactly the same thing, the loading of the manually edited file into Jdev Deployment plan editor fails with
    oracle.oc4j.admin.deploy.spi.exceptions.ExtendedConfigurationException: invalid entry size (expected 1886413103 but got 846 bytes)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.restore(DeplConfiguration.java:1002)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.restore(DeplConfiguration.java:738)
         at oracle.jdevimpl.deploy.jsr88.ConfigModel.loadConfig(ConfigModel.java:201)
         at oracle.jdevimpl.deploy.jsr88.Jsr88ConfigurationPanel.actionPerformed(Jsr88ConfigurationPanel.java:212)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
         at java.awt.Component.processMouseEvent(Component.java:5488)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
         at java.awt.Component.processEvent(Component.java:5253)
         at java.awt.Container.processEvent(Container.java:1966)
         at java.awt.Component.dispatchEventImpl(Component.java:3955)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
         at java.awt.Container.dispatchEventImpl(Container.java:2010)
         at java.awt.Window.dispatchEventImpl(Window.java:1774)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
         at java.awt.Dialog$1.run(Dialog.java:515)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Caused by: oracle.oc4j.admin.jmx.shared.exceptions.JMXRuntimeException: invalid entry size (expected 1886413103 but got 846 bytes)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.readJar(JarTool.java:240)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.parseDeploymentPlan(DeplConfiguration.java:1464)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.restore(DeplConfiguration.java:761)
         ... 33 more
    Caused by: java.util.zip.ZipException: invalid entry size (expected 1886413103 but got 846 bytes)
         at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:368)
         at java.util.zip.ZipInputStream.read(ZipInputStream.java:141)
         at java.util.jar.JarInputStream.read(JarInputStream.java:171)
         at java.io.FilterInputStream.read(FilterInputStream.java:90)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.copy(JarTool.java:1343)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.readEntry(JarTool.java:255)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.readJar(JarTool.java:232)
         ... 35 more
    oracle.oc4j.admin.jmx.shared.exceptions.JMXRuntimeException: invalid entry size (expected 1886413103 but got 846 bytes)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.readJar(JarTool.java:240)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.parseDeploymentPlan(DeplConfiguration.java:1464)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.restore(DeplConfiguration.java:761)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.restore(DeplConfiguration.java:738)
         at oracle.jdevimpl.deploy.jsr88.ConfigModel.loadConfig(ConfigModel.java:201)
         at oracle.jdevimpl.deploy.jsr88.Jsr88ConfigurationPanel.actionPerformed(Jsr88ConfigurationPanel.java:212)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
         at java.awt.Component.processMouseEvent(Component.java:5488)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
         at java.awt.Component.processEvent(Component.java:5253)
         at java.awt.Container.processEvent(Container.java:1966)
         at java.awt.Component.dispatchEventImpl(Component.java:3955)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
         at java.awt.Container.dispatchEventImpl(Container.java:2010)
         at java.awt.Window.dispatchEventImpl(Window.java:1774)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
         at java.awt.Dialog$1.run(Dialog.java:515)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Caused by: java.util.zip.ZipException: invalid entry size (expected 1886413103 but got 846 bytes)
         at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:368)
         at java.util.zip.ZipInputStream.read(ZipInputStream.java:141)
         at java.util.jar.JarInputStream.read(JarInputStream.java:171)
         at java.io.FilterInputStream.read(FilterInputStream.java:90)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.copy(JarTool.java:1343)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.readEntry(JarTool.java:255)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.readJar(JarTool.java:232)
         ... 35 more
    ---- Embedded exception
    java.util.zip.ZipException: invalid entry size (expected 1886413103 but got 846 bytes)
         at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:368)
         at java.util.zip.ZipInputStream.read(ZipInputStream.java:141)
         at java.util.jar.JarInputStream.read(JarInputStream.java:171)
         at java.io.FilterInputStream.read(FilterInputStream.java:90)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.copy(JarTool.java:1343)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.readEntry(JarTool.java:255)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.readJar(JarTool.java:232)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.parseDeploymentPlan(DeplConfiguration.java:1464)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.restore(DeplConfiguration.java:761)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.restore(DeplConfiguration.java:738)
         at oracle.jdevimpl.deploy.jsr88.ConfigModel.loadConfig(ConfigModel.java:201)
         at oracle.jdevimpl.deploy.jsr88.Jsr88ConfigurationPanel.actionPerformed(Jsr88ConfigurationPanel.java:212)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
         at java.awt.Component.processMouseEvent(Component.java:5488)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
         at java.awt.Component.processEvent(Component.java:5253)
         at java.awt.Container.processEvent(Container.java:1966)
         at java.awt.Component.dispatchEventImpl(Component.java:3955)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
         at java.awt.Container.dispatchEventImpl(Container.java:2010)
         at java.awt.Window.dispatchEventImpl(Window.java:1774)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
         at java.awt.Dialog$1.run(Dialog.java:515)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    So no chance here to add a resource-ref-mapping. The alternative way of specifying a resource-ref-mapping using the web-based deployment proces of the Enterprise manager is impossible because the 11g preview OC4j does not include an enterprise manger web-application.
    So how do I deploy the application correctly other that manually modifying the deployed orion-web-app.xml file in j2ee/home/application-deployments/earName/warName/orion-web-app.xml after deploying the app without a resource-ref-mapping? Because doing that step manually each time is quite annoying.
    Greetings,
    Thomas

    Seems i'm slowly answering my own questions :-) I finally got my RMI service, even using several methods. But ...
    It doesnt help me as the lookups are not done on the context classloader it seems. That means i need to add all my service jars to the global class path causing massive sealing issues with the war contained jars. Pretty useless. All the needed stubs etc are in the war.
    But as it seems that the web app needs to contain deployment site info (sun-web.xml) anyway, i could just as easy read my own web xml from the context and resolve the services myself. But i do wonder how this is supposed to work with EJB and CORBA stuff. The samples actually also needed to add stuff to the global class path.
    I'm probably not the easiest customer as i write this kind of middle ware for a living but i really like sjsws. It makes my own one partly obsolete as it is almost as fast and has all the fancy deployment stuff (in my case i use an in-house mobile agent frame work and agents that travel the various networks ) and infinitely easier to learn to work with and understand In case anyone is wondering i wrote Uhura because 1. i needed speed so it is a servlet based webserver and not a web server with a servlet module. 2. could not wait on ibm to fix bugs in webspere and we only used the servlet bit. 2. i needed full J2EE security and 3. i needed it to run on many OS'es
    That is why i still need the same war files to be able to be deployed in both systems as i still need my systems going on IBM iservers etc.
    Again i would welcome some feed back on such and related issues
    Cheers,
    Peter

  • Can a Deployment Plan Modify Values in a .properties file?

    I'm using JDeveloper 11.1.1.6.0 and Weblogic 10.3
    I am currently in the process of creating a plan.xml file for our application, but we have a few properties files that contain configuration information. This information needs to change depending on the environment that we are deploying to. Is it possible to do this through a plan.xml or would we have to use some other method?
    Example:
    File: conf.properties
    ------start file-----
    A=1
    B=2
    C=3
    -----end file-----
    We would need to be able to change the value of B to be 5 instead of 2 if we are deploying to our test environment.

    As far as I can tell, what you linked is just using the deployment plan's XPath to update a value in the web.xml which is standard procedure. However, I am curious of being able to update values in a .properties file which is not an XML file, and thus can't be read by XPath. Is this possible or can the deployment plans only modify XML documents?
    [EDIT] From what I've been finding it seems I've confirmed that it can only override XML files, or atleast I've found no indications that it can do anything other than XML files. Though now I'm having issues of it overriding custom XML files. EG: I have a wf_client_config.xml file in the WAR's class path that I need to update depending on the environment, but have not been able to have the deployments recognize the override that I have listed in the plan.xml.
    So I guess now my question is, do I ened to do anything special to get it to recognize an XML file on the class path vs a standard xml file such as web.xml? Or should I make this a new topic?
    Edited by: mBaldwin on Jan 8, 2013 11:45 AM
    [EDIT 2] Marking this as resolved, it appears as though the plan.xml will only modify settings that could be modified by Weblogic naturally and it is not able to modify items that are on the classpath of the application.
    Edited by: mBaldwin on Feb 26, 2013 12:08 PM

  • Cluster environment with Deployment Plan losing variable values

    Hi all,
    Our environment uses Weblogic Server 10.2, with 2 Managed Servers in Cluster, in Feisty Fawn Ubuntu.
    Our app has a bunch of variables configured in the web.xml with custom values, most of which are endpoint and JDBC related. Our web.xml has some default values in these variables, and we created a Deployment Plan to change these values in deployment-time.
    The problem is that, after a random amount of time, the cluster is "losing" these configurations. At first, everything goes fine, but then, we start receiving errors because the endpoint being used is not the Deployment Plan's anymore, but the one from web.xml. It's completely random, and come and go without notice.
    Is there a known bug about this? Is this a configuration issue?
    Any help would be appreciated!
    Thanks,
    Francisco

    Are you redeploying the applications at all?
    Francisco Cavedon wrote:
    Hi all,
    Our environment uses Weblogic Server 10.2, with 2 Managed Servers in Cluster, in Feisty Fawn Ubuntu.
    Our app has a bunch of variables configured in the web.xml with custom values, most of which are endpoint and JDBC related. Our web.xml has some default values in these variables, and we created a Deployment Plan to change these values in deployment-time.
    The problem is that, after a random amount of time, the cluster is "losing" these configurations. At first, everything goes fine, but then, we start receiving errors because the endpoint being used is not the Deployment Plan's anymore, but the one from web.xml. It's completely random, and come and go without notice.
    Is there a known bug about this? Is this a configuration issue?
    Any help would be appreciated!
    Thanks,
    Francisco

  • Update deployment plan definition with WLST

    Hello,
    I would like to write a script in order to get the existing deployemnt plan of my deployed application (Deployement plan is yet modified, I don't want to use loadApplication). Then I would to update my deployement plan (update/add work manager constraints).
    I can't find any WLST api to do that. The Weblogic console doesn't record the actions when I do it through the console.
    I would like top the the same as this link http://download.oracle.com/docs/cd/E15051_01/wls/docs103/config_scripting/updateplan.html
    But with a deploymenPlan got from the server and not from the filesystem
    The only way I see is to use a Java parser un Jython to update the existing deployemnt plan and then, redeploy the application but This solution is very heavy in term of developpment. It should be more efficient when a built in parser
    Could you please help me giving me some information about how to update deployement plans of a yet deployed application with WLST ?
    Thank you !
    C.

    Thank you for answering.
    In fact, I have found the solution for my use case according to the previous html link
    The WLST plan seems to be accessible only by file system.
    If your application is yet deployed with a deployment plan and you want to update this plan, you have to login on the admin server via WLST,get the application absolute path and the plan absoluth path :
    cd ("AppDeployments/" + INTERNAL_APP_NAME)
    appPath  = cmo.getAbsoluteSourcePath()
    planPath = cmo.getAbsolutePlanPath()and then, load the existing plan :
    plan = loadApplication(appPath, planPath)after that, you can use the api described at the following link http://download.oracle.com/docs/cd/E15051_01/wls/docs103/config_scripting/updateplan.html to update the plan.
    Then, you have to redeploy the application :
    redeploy(APP_NAME)Thank you for helping !
    C.

Maybe you are looking for