This discussion is archived
10 Replies Latest reply: May 10, 2012 4:52 AM by ArunBodap RSS

JCA adapter outbound connection properties values are not populating ..

934398 Newbie
Currently Being Moderated
Hi ,
I am struggling to find a solution for this problem.

My managed connection factory impl has all the properties as per the java bean spec. I have also implemented hashcode and equals but i still don't see the custom outbound custom properties information populated into my ManagedConnectionFactoryImpl properties. I checked property names in both weblogic-ra.xml and ra.xml. The names are consistent.

As per this discussion (BINDING.JCA-12510 JCA Resource Adapter location error in SOA 11g Suite i saved the properties using Keyboard entered. I restarted my server and also i can see the saved values

I also verified the Plan.xml that gets created when the values are updated. Please find the provided the code snippets. Any help appreciated.

Please let me know if i need to post this in a different forum. We use weblogic 10.3.5 application server. Let me know for any more details.

Thanks,
Sri

For more information:
Following is the managed connection factory Impl
---------------------------------------------------------------------------

package com.cgi.cml.common.sample.connector.ra.outbound;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.PrintWriter;
import java.io.Serializable;
import java.util.Iterator;
import java.util.Set;

import javax.resource.ResourceException;
import javax.resource.spi.ConnectionManager;
import javax.resource.spi.ConnectionRequestInfo;
import javax.resource.spi.ManagedConnection;
import javax.resource.spi.ManagedConnectionFactory;
import javax.security.auth.Subject;

public class SampleManagedConnectionFactoryImpl
     implements ManagedConnectionFactory, Serializable {
private transient PropertyChangeSupport changes =new PropertyChangeSupport(this);

     private String databaseFileName = "";
private String database = "";
private String user = "";
private String password = "";
private String dtdPath = "";
private String protocol = "";
private String serverAddress = "";
private Boolean debugMode = false;
     private PrintWriter writer;

     /**
     * Constructor for SampleManagedConnectionFactoryImpl
     */
     public SampleManagedConnectionFactoryImpl() {
     }

     /**
     * @see ManagedConnectionFactory#createConnectionFactory(ConnectionManager)
     */
     @Override
     public Object createConnectionFactory(ConnectionManager cm)
          throws ResourceException {
          return new MomapiConnectionFactoryImpl(this, cm);

     }

     /**
     * @see ManagedConnectionFactory#createConnectionFactory()
     */
     @Override
     public Object createConnectionFactory() throws ResourceException {

          return new MomapiConnectionFactoryImpl(this, null);
     }

     /**
     * @see ManagedConnectionFactory#createManagedConnection(Subject, ConnectionRequestInfo)
     */
     @Override
     public ManagedConnection createManagedConnection(
          Subject subject,
          ConnectionRequestInfo cxRequestInfo)
          throws ResourceException {
          System.out.println("createdManaged Connection called");
          return new SampleManagedConnectionImpl(subject,cxRequestInfo);
     }

     /**
     * @see ManagedConnectionFactory#matchManagedConnections(Set, Subject, ConnectionRequestInfo)
     */
     @Override
     public ManagedConnection matchManagedConnections(
          Set connectionSet,
          Subject subject,
          ConnectionRequestInfo cxRequestInfo)
          throws ResourceException {
          System.out.println("match managed Connections called---->"+getDatabaseFileName());
          ManagedConnection match = null;
          Iterator iterator = connectionSet.iterator();
          if (iterator.hasNext()) {
               match = (ManagedConnection) iterator.next();
          }

          return match;
     }

     /**
     * @see ManagedConnectionFactory#setLogWriter(PrintWriter)
     */
     @Override
     public void setLogWriter(PrintWriter writer) throws ResourceException {

          this.writer = writer;
     }

     /**
     * @see ManagedConnectionFactory#getLogWriter()
     */
     @Override
     public PrintWriter getLogWriter() throws ResourceException {

          return writer;
     }
/**
* Checks whether this instance is equal to another.
*
* @param obj other object
*
* @return true if the two instances are equal, false otherwise
*/
     @Override
public boolean equals(Object obj)
{
          System.out.println("equals method called");          
boolean equal = false;

if (obj != null)
     {
if (obj instanceof MomapiManagedConnectionFactoryImpl)
     {
     SampleManagedConnectionFactoryImpl other = (SampleManagedConnectionFactoryImpl) obj;

equal = (this.databaseFileName).equals(other.databaseFileName) &&
(this.database).equals(other.database) &&
(this.user).equals(other.user) &&
(this.password).equals(other.password) &&
(this.dtdPath).equals(other.dtdPath) &&
(this.protocol).equals(other.protocol) &&
          (this.serverAddress).equals(other.serverAddress) &&
          (this.debugMode==other.debugMode);

}
}
          System.out.println("equals method returning -->"+ equal);
return equal;

}

/**
* Returns the hashCode of the ConnectionRequestInfoImpl.
*
* @return the hash code of this instance
*/

public int hashCode()
{
//The rule here is that if two objects have the same Id
//i.e. they are equal and the .equals method returns true
// then the .hashCode method must return the same
// hash code for those two objects      
int hashcode = new String("").hashCode();

if (databaseFileName != null)
hashcode += databaseFileName.hashCode();

if (database != null)
hashcode += database.hashCode();

if (user != null)
hashcode += user.hashCode();

if (password != null)
hashcode += password.hashCode();

if (dtdPath != null)
hashcode += dtdPath.hashCode();

if (protocol != null)
hashcode += protocol.hashCode();
if (serverAddress != null)
hashcode += serverAddress.hashCode();
          System.out.println("hascode method called and the value is -->"+hashcode);
return hashcode;
}

/**
* Associate PropertyChangeListener with the ManagedConnectionFactory,
* in order to notify about properties changes.
*
* @param lis the PropertyChangeListener to be associated with the
* ManagedConnectionFactory
*/

public void addPropertyChangeListener(PropertyChangeListener lis)
{
     System.out.println("addPropertyChangeListener called");
changes.addPropertyChangeListener(lis);
}


/**
* Delete association of PropertyChangeListener with the
* ManagedConnectionFactory.
*
* @param lis the PropertyChangeListener to be removed
*/

public void removePropertyChangeListener(PropertyChangeListener lis)
{
     System.out.println("removePropertyChangeListener called");      
changes.removePropertyChangeListener(lis);
}
public String getDatabaseFileName() {
          return databaseFileName;
     }

     public void setDatabaseFileName(String databaseFileName) {
          this.databaseFileName = databaseFileName;
     }

     public String getDatabase() {
          return database;
     }

     public void setDatabase(String database) {
          System.out.println("hellloooooooooooo---->"+database);
          this.database = database;
     }

     public String getUser() {
          return user;
     }

     public void setUser(String user) {
          this.user = user;
     }

     public String getPassword() {
          return password;
     }

     public void setPassword(String password) {
          this.password = password;
     }

     public String getDtdPath() {
          return dtdPath;
     }

     public void setDtdPath(String dtdPath) {
          this.dtdPath = dtdPath;
     }

     public String getProtocol() {
          return protocol;
     }

     public void setProtocol(String protocol) {
          this.protocol = protocol;
     }
     public String getServerAddress() {
          return serverAddress;
     }

     public void setServerAddress(String serverAddress) {
          this.serverAddress = serverAddress;
     }

     public Boolean isDebugMode() {
          return debugMode;
     }

     public void setDebugMode(Boolean debugMode) {
          this.debugMode = debugMode;
     }

     public PrintWriter getWriter() {
          return writer;
     }

     public void setWriter(PrintWriter writer) {
          this.writer = writer;
     }

}

weblogic-ra.xml
---------------------

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-connector xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
     xmlns:javaee="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-connector/1.0/weblogic-connector.xsd"
     xmlns="http://xmlns.oracle.com/weblogic/weblogic-connector">
     <jndi-name>jca/sampleRA</jndi-name>
     <enable-access-outside-app>true</enable-access-outside-app>
     <outbound-resource-adapter>
          <connection-definition-group>
               <connection-factory-interface>javax.resource.cci.ConnectionFactory</connection-factory-interface>
               <connection-instance>
                    <jndi-name>jca/sampleCon</jndi-name>
<connection-properties>
<properties>
<property>
<name>databaseFileName</name>
</property>
<property>
<name>database</name>
</property>
<property>
<name>user</name>
</property>
<property>
<name>password</name>
</property>
<property>
<name>dtdPath</name>
</property>
<property>
<name>protocol</name>
</property>
<property>
<name>serverAddress</name>
</property>
<property>
<name>debugMode</name>
</property>
</properties>
</connection-properties>                
               </connection-instance>
          </connection-definition-group>
     </outbound-resource-adapter>
</weblogic-connector>

ra.xml
-----------

<?xml version="1.0" encoding="UTF-8"?>
<connector xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java/sun.com/xml/ns/j2ee/connector_1_5.xsd" version="1.5">
<display-name>MomapiConnector</display-name>
<vendor-name>CGI</vendor-name>
<eis-type>SAMPLE</eis-type>
<resourceadapter-version>1.0</resourceadapter-version>
<license>
<license-required>false</license-required>
</license>
<resourceadapter>
<resourceadapter-class>com.cgi.cml.common.sample.connector.ra.SampleResourceAdapterImpl</resourceadapter-class>
<outbound-resourceadapter>
<connection-definition>
<managedconnectionfactory-class>com.cgi.cml.common.sample.connector.ra.outbound.SampleManagedConnectionFactoryImpl</managedconnectionfactory-class>
          <config-property>
     <config-property-name>databaseFileName</config-property-name>
     <config-property-type>java.lang.String</config-property-type>
     </config-property>
<config-property>
     <config-property-name>database</config-property-name>
     <config-property-type>java.lang.String</config-property-type>
     </config-property>
          <config-property>
     <config-property-name>user</config-property-name>
     <config-property-type>java.lang.String</config-property-type>
     </config-property>
          <config-property>
     <config-property-name>password</config-property-name>
     <config-property-type>java.lang.String</config-property-type>
     </config-property>
          <config-property>
     <config-property-name>dtdPath</config-property-name>
     <config-property-type>java.lang.String</config-property-type>
     </config-property>
          <config-property>
     <config-property-name>protocol</config-property-name>
     <config-property-type>java.lang.String</config-property-type>
     </config-property>
          <config-property>
     <config-property-name>serverAddress</config-property-name>
     <config-property-type>java.lang.String</config-property-type>
     </config-property>
          <config-property>
     <config-property-name>debugMode</config-property-name>
     <config-property-type>java.lang.Boolean</config-property-type>
     </config-property>
          <connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
<connectionfactory-impl-class>com.cgi.cml.common.my.connector.ra.outbound.SampleConnectionFactoryImpl</connectionfactory-impl-class>
<connection-interface>javax.resource.cci.Connection</connection-interface>
<connection-impl-class>com.cgi.cml.common.sample.connector.ra.outbound.SampleConnectionImpl</connection-impl-class>
</connection-definition>
<transaction-support>NoTransaction</transaction-support>
     <reauthentication-support>false</reauthentication-support>
</outbound-resourceadapter>
</resourceadapter>
</connector>

Edited by: 931395 on May 2, 2012 7:43 AM

Edited by: 931395 on May 2, 2012 8:15 AM
  • 1. Re: JCA adapter outbound connection properties values are not populating ..
    934398 Newbie
    Currently Being Moderated
    I just noticed one thing. If i provide default values in weblogic-ra.xml then those values are getting populated in ManagedConnectionProperties bean values.

    Another thing I noticed was on weblogic console the weblogic-ra.xml default values won't appear. However if i provide default values in ra.xm those are populating in weblogic console. However, if i modify values using weblogic console, those values not getting back to ManagedConnectionProperties. That tells some how weblogic console values should override weblogic-ra.xml ..

    I am little confused.. but any help .. appreciated...

    Thanks
  • 2. Re: JCA adapter outbound connection properties values are not populating ..
    wilson.t Newbie
    Currently Being Moderated
    Can you post your plan.xml?
  • 3. Re: JCA adapter outbound connection properties values are not populating ..
    ArunBodap Pro
    Currently Being Moderated
    For being able to update the values of properties/attributes in the ra.xml, we will need to deploy the connector module (x.rar) using a plan.xml

    So, when you first time try to update those attributes, a plan.xml is generated.
    You can use that plan.xml and redeploy the rar module with that plan.xml.

    Once it is deployed using plan.xml, then next time you make changes to the attributes from the console and activate them, then WebLogic server will update the plan.xml and will redeploy the application.
    When the application is redeployed, it will pick-up the changed values from the plan.xml and will override the values of ra.xml and then they will take effect on the ManagedConnectionProperties.


    Arun
  • 4. Re: JCA adapter outbound connection properties values are not populating ..
    934398 Newbie
    Currently Being Moderated
    Arun,

    I tried what you have advised but ManagedConnectionProperties is still getting the default values from weblogic-ra.xml but not from the Plan.xml. I restarted the app as well. However, on weblogic console I can see the updated values. Please find the attached Plan.xml. You can find the SampleManagedConnectionFactoryImpl in my previous postings.


    <?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" global-variables="false">
    <application-name>SampleTestApp</application-name>
    <variable-definition>
    <variable>
    <name>ConfigProperty_serverAddress_Value_13360542946040</name>
    <value>http://davenkat-097052:8001/HTTPMomapi/HTTPMomapi2</value>
    </variable>
    <variable>
    <name>ConfigProperty_database_Value_13360546918450</name>
    <value>m66xod2</value>
    </variable>
    <variable>
    <name>ConfigProperty_databaseFileName_Value_13360568125780</name>
    <value>m66xod4</value>
    </variable>
    </variable-definition>
    <module-override>
    <module-name>split_src</module-name>
    <module-type>ear</module-type>
    <module-descriptor external="false">
    <root-element>weblogic-application</root-element>
    <uri>META-INF/weblogic-application.xml</uri>
    </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>TestDeploy.war</module-name>
    <module-type>war</module-type>
    <module-descriptor external="false">
    <root-element>weblogic-web-app</root-element>
    <uri>WEB-INF/weblogic.xml</uri>
    </module-descriptor>
    <module-descriptor external="false">
    <root-element>web-app</root-element>
    <uri>WEB-INF/web.xml</uri>
    </module-descriptor>
    </module-override>
    <module-override>
    <module-name>cml-sample-resource-adapter.rar</module-name>
    <module-type>rar</module-type>
    <module-descriptor external="false">
    <root-element>weblogic-connector</root-element>
    <uri>META-INF/weblogic-ra.xml</uri>
    <variable-assignment>
    <name>ConfigProperty_serverAddress_Value_13360542946040</name>
    <xpath>/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="javax.resource.cci.ConnectionFactory"]/connection-instance/[jndi-name="jca/sampleCon"]/connection-properties/properties/property/[name="serverAddress"]/value</xpath>
    </variable-assignment>
    <variable-assignment>
    <name>ConfigProperty_database_Value_13360546918450</name>
    <xpath>/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="javax.resource.cci.ConnectionFactory"]/connection-instance/[jndi-name="jca/sampleCon"]/connection-properties/properties/property/[name="database"]/value</xpath>
    </variable-assignment>
    <variable-assignment>
    <name>ConfigProperty_databaseFileName_Value_13360568125780</name>
    <xpath>/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="javax.resource.cci.ConnectionFactory"]/connection-instance/[jndi-name="jca/sampleCon"]/connection-properties/properties/property/[name="databaseFileName"]/value</xpath>
    </variable-assignment>
    </module-descriptor>
    <module-descriptor external="false">
    <root-element>connector</root-element>
    <uri>META-INF/ra.xml</uri>
    </module-descriptor>
    </module-override>
    <config-root>C:\Documents and Settings\davenkat\jbosswks\CamelTests\.metadata\.plugins\org.eclipse.core.resources\.projects\SampleTestApp\beadep\test_domain2\SampleTestApp\plan</config-root>
    </deployment-plan>

    Edited by: 931395 on May 3, 2012 8:21 AM
  • 5. Re: JCA adapter outbound connection properties values are not populating ..
    934398 Newbie
    Currently Being Moderated
    I found something. If deploy the rar file individually then it works as expected. However, if I make the rar file as part of an application ear that's when the changes are not reflecting in the ManagementConnectionProperties and that is what I was trying earlier. In our use case we might include the rar also as part of application.

    Can't I change the configuration properties of rar outbound connection properties if it included in the ear?

    I can send you the code if you want to experiment.

    Thanks

    Edited by: 931395 on May 3, 2012 9:55 AM

    Edited by: 931395 on May 3, 2012 10:52 AM

    Edited by: 931395 on May 3, 2012 10:52 AM
  • 6. Re: JCA adapter outbound connection properties values are not populating ..
    ArunBodap Pro
    Currently Being Moderated
    What have you specified in config-root?
    Is it the path where you have saved your new plan.xml OR where you have your application files OR where you have a different plan.xml?
    Try changing that and doing a deployment.
    Change it to where you have this plan.xml saved.

    That is the only I can think of now. Rest looks fine. And the fact that it works with a simple RAR file and only fails if the RAR is part of EAR is also interesting.

    One more thing to check. Compare the working plan.xml (RAR case) with the failing plan.xml (EAR) case and try to identify if anything is missing.
    Can you please post the plan.xml you used for the working RAR case


    Arun
  • 7. Re: JCA adapter outbound connection properties values are not populating ..
    934398 Newbie
    Currently Being Moderated
    Arun,

    Thanks for the reply I tried changing the path of the config-root but that didn't help either.

    Here is the Plan.xml for simple.rar file and this works fine.

    <?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>upload</application-name>
    <variable-definition>
    <variable>
    <name>ConfigProperty_database_Value_13361188019560</name>
    <value>m66xod33</value>
    </variable>
    <variable>
    <name>ConfigProperty_databaseFileName_Value_13361188100271</name>
    <value>m66xod44</value>
    </variable>
    <variable>
    <name>ConfigProperty_serverAddress_Value_13361188168232</name>
    <value>http://davenkat-097052:8001/HTTPMomapi/HTTPMomapi66</value>
    </variable>
    </variable-definition>
    <module-override>
    <module-name>sample.rar</module-name>
    <module-type>rar</module-type>
    <module-descriptor external="false">
    <root-element>weblogic-connector</root-element>
    <uri>META-INF/weblogic-ra.xml</uri>
    <variable-assignment>
    <name>ConfigProperty_database_Value_13361188019560</name>
    <xpath>/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="javax.resource.cci.ConnectionFactory"]/connection-instance/[jndi-name="jca/momapiCon"]/connection-properties/properties/property/[name="database"]/value</xpath>
    </variable-assignment>
    <variable-assignment>
    <name>ConfigProperty_databaseFileName_Value_13361188100271</name>
    <xpath>/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="javax.resource.cci.ConnectionFactory"]/connection-instance/[jndi-name="jca/momapiCon"]/connection-properties/properties/property/[name="databaseFileName"]/value</xpath>
    </variable-assignment>
    <variable-assignment>
    <name>ConfigProperty_serverAddress_Value_13361188168232</name>
    <xpath>/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="javax.resource.cci.ConnectionFactory"]/connection-instance/[jndi-name="jca/momapiCon"]/connection-properties/properties/property/[name="serverAddress"]/value</xpath>
    </variable-assignment>
    </module-descriptor>
    <module-descriptor external="false">
    <root-element>connector</root-element>
    <uri>META-INF/ra.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>
    <config-root>C:\testapp2</config-root>
    </deployment-plan>
  • 8. Re: JCA adapter outbound connection properties values are not populating ..
    ArunBodap Pro
    Currently Being Moderated
    Plan.xml is a tricky thing. Even if there is an issue with the values used, there are no validation errors thrown. Only format validation errors are thrown.
    So, we will have to try some trial-and-error to understand where exactly the issue is with the plan.xml

    Here is a plan.xml, I would want you to try (All I did is removing the ear, war, etc that we were not changing the descriptors for anyways):

    <?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" global-variables="false">
    <application-name>SampleTestApp</application-name>
    <variable-definition>
    <variable>
    <name>ConfigProperty_serverAddress_Value_13360542946040</name>
    <value>http://davenkat-097052:8001/HTTPMomapi/HTTPMomapi2</value>
    </variable>
    <variable>
    <name>ConfigProperty_database_Value_13360546918450</name>
    <value>m66xod2</value>
    </variable>
    <variable>
    <name>ConfigProperty_databaseFileName_Value_13360568125780</name>
    <value>m66xod4</value>
    </variable>
    </variable-definition>
    <module-override>
    <module-name>cml-sample-resource-adapter.rar</module-name>
    <module-type>rar</module-type>
    <module-descriptor external="false">
    <root-element>weblogic-connector</root-element>
    <uri>META-INF/weblogic-ra.xml</uri>
    <variable-assignment>
    <name>ConfigProperty_serverAddress_Value_13360542946040</name>
    <xpath>/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="javax.resource.cci.ConnectionFactory"]/connection-instance/[jndi-name="jca/sampleCon"]/connection-properties/properties/property/[name="serverAddress"]/value</xpath>
    </variable-assignment>
    <variable-assignment>
    <name>ConfigProperty_database_Value_13360546918450</name>
    <xpath>/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="javax.resource.cci.ConnectionFactory"]/connection-instance/[jndi-name="jca/sampleCon"]/connection-properties/properties/property/[name="database"]/value</xpath>
    </variable-assignment>
    <variable-assignment>
    <name>ConfigProperty_databaseFileName_Value_13360568125780</name>
    <xpath>/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="javax.resource.cci.ConnectionFactory"]/connection-instance/[jndi-name="jca/sampleCon"]/connection-properties/properties/property/[name="databaseFileName"]/value</xpath>
    </variable-assignment>
    </module-descriptor>
    <module-descriptor external="false">
    <root-element>connector</root-element>
    <uri>META-INF/ra.xml</uri>
    </module-descriptor>
    </module-override>
    <config-root>C:\Documents and Settings\davenkat\jbosswks\CamelTests\.metadata\.plugins\org.eclipse.core.resources\.projects\SampleTestApp\beadep\test_domain2\SampleTestApp\plan</config-root>
    </deployment-plan>

    Please update me with the result.


    Arun
  • 9. Re: JCA adapter outbound connection properties values are not populating ..
    934398 Newbie
    Currently Being Moderated
    Arun,
    I tried, no luck and it is giving me the following error. Once the Plan.xml is created I am usinng "update" button on the console to redeploy the application using Plan.xml. When I take this route it gives me 2 options (1. update this application in place with new deployment plan 2. redploy this application using the following deployment files).

    When I use the second option eventhough there is a change in the Plan.xml nothing happens. If I use the first option then I am getting the following exception. If I put the module-override for application then only the ear is getting deployed.

    Thanks,
    Sridhar

    ---------------------------------------------------------
    [BaseFlow] : No UpdateListener found or none of the found UpdateListeners accepts URI
    <May 9, 2012 9:37:47 AM EDT> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1336570667598' for task '10'. Error is: 'weblogic.management.DeploymentException:
    The application SampleApp cannot have the resource META-INF/weblogic-ra.xml updated dynamically. Either:
    1.) The resource does not exist.
    or
    2) The resource cannot be changed dynamically.
    Please ensure the resource uri is correct, and redeploy the entire application for this change to take effect.'
    weblogic.management.DeploymentException:
    The application SampleApp cannot have the resource META-INF/weblogic-ra.xml updated dynamically. Either:
    1.) The resource does not exist.
    or
    2) The resource cannot be changed dynamically.
    Please ensure the resource uri is correct, and redeploy the entire application for this change to take effect.
         at weblogic.application.internal.flow.DeploymentCallbackFlow.addPendingUpdates(DeploymentCallbackFlow.java:375)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.makePendingUpdates(DeploymentCallbackFlow.java:394)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.prepareUpdate(DeploymentCallbackFlow.java:407)
         at weblogic.application.internal.BaseDeployment$PrepareUpdateStateChange.next(BaseDeployment.java:685)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         Truncated. see log file for complete stacktrace
    >
    <May 9, 2012 9:37:47 AM EDT> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating update task for application 'SampleApp'.>
    <May 9, 2012 9:37:47 AM EDT> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
    weblogic.management.DeploymentException:
    The application SampleApp cannot have the resource META-INF/weblogic-ra.xml updated dynamically. Either:
    1.) The resource does not exist.
    or
    2) The resource cannot be changed dynamically.
    Please ensure the resource uri is correct, and redeploy the entire application for this change to take effect.
         at weblogic.application.internal.flow.DeploymentCallbackFlow.addPendingUpdates(DeploymentCallbackFlow.java:375)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.makePendingUpdates(DeploymentCallbackFlow.java:394)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.prepareUpdate(DeploymentCallbackFlow.java:407)
         at weblogic.application.internal.BaseDeployment$PrepareUpdateStateChange.next(BaseDeployment.java:685)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         Truncated. see log file for complete stacktrace
    >
    <May 9, 2012 9:37:47 AM EDT> <Error> <Console> <BEA-240003> <Console encountered the following error weblogic.management.DeploymentException:
    The application SampleApp cannot have the resource META-INF/weblogic-ra.xml updated dynamically. Either:
    1.) The resource does not exist.
    or
    2) The resource cannot be changed dynamically.
    Please ensure the resource uri is correct, and redeploy the entire application for this change to take effect.
         at weblogic.application.internal.flow.DeploymentCallbackFlow.addPendingUpdates(DeploymentCallbackFlow.java:375)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.makePendingUpdates(DeploymentCallbackFlow.java:394)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.prepareUpdate(DeploymentCallbackFlow.java:407)
         at weblogic.application.internal.BaseDeployment$PrepareUpdateStateChange.next(BaseDeployment.java:685)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.BaseDeployment.prepareUpdate(BaseDeployment.java:439)
         at weblogic.application.internal.EarDeployment.prepareUpdate(EarDeployment.java:58)
         at weblogic.application.internal.DeploymentStateChecker.prepareUpdate(DeploymentStateChecker.java:220)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepareUpdate(AppContainerInvoker.java:149)
         at weblogic.deploy.internal.targetserver.operations.DynamicUpdateOperation.doPrepare(DynamicUpdateOperation.java:130)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)
         at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    >
  • 10. Re: JCA adapter outbound connection properties values are not populating ..
    ArunBodap Pro
    Currently Being Moderated
    We might have to spend more time in debugging this.
    Please open a service request with Oracle Support

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points