Bug 781080 (SOA-3570)

Summary: Consider these suggested improvements to OracleAQ quickstart
Product: [JBoss] JBoss Enterprise SOA Platform 5 Reporter: Rick Wagner <rwagner>
Component: unspecifiedAssignee: Mark Little <mark.little>
Status: NEW --- QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 5.2.0.ER6   
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-3570
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
SOA-P with Oracle AQ Messaging
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Rick Wagner 2011-11-09 14:09:55 UTC
Help Desk Ticket Reference: https://c.na7.visual.force.com/apex/Case_View?id=500A0000008SWf2IAG&sfdc.override=1
project_key: SOA

Please consider adding the following customer-supplied additions to our Oracle AQ quickstarts.
- If you encounter error message "java.lang.UnsatisfiedLinkError: no ocijdbc10 in java.library.path" occurred, be sure ojdbc4.jar is not packaged in  esb deployments.
- If you get "java.lang.UnsatisfiedLinkError:oracle.jms.AQjmsSession.ociinit([JIIZSII)J at oracle.jms.AQjmsSession.ociinit(Native Method)", make sure aqapi is in server lib, (not packaged with the esb deployment).

- The customer also gets this:  "WARN  [org.jboss.soa.esb.oracle.aq.AQInitialContextFactory] Warning.  Error while looking up destination: oracle.jms.AQjmsException: JMS-122: Internal error payload object type must be specified"
We suspect this can be remedied with this change to AQInitialContextFactory.init:

 public void init(Hashtable<?, ?> env) {
    dbuser = (String) env.get(AQInitialContextFactory.DB_USER);
    dbpass = (String) env.get(AQInitialContextFactory.DB_PASSWD);
    aqConnectionUrl = (String) env.get(AQInitialContextFactory.DB_CONNECTION_URL);
+   aqSchemaName = (String) env.get(AQInitialContextFactory.DB_SCHEMA);

    if (aqConnectionUrl == null) {
        aqServerName = (String) env.get(AQInitialContextFactory.DB_SERVER);
        aqServerDBInst = (String) env.get(AQInitialContextFactory.DB_INSTANCE);
        aqDBDriver = (String) env.get(AQInitialContextFactory.DB_DRIVER);
-       aqSchemaName = (String) env.get(AQInitialContextFactory.DB_SCHEMA);
        aqServerPort = (String) env.get(AQInitialContextFactory.DB_PORT);
        if (aqServerPort != null) {
            try {
                aqServerPortNumber = Integer.parseInt(aqServerPort);
            } catch (NumberFormatException e) {
                log.error("caught exception converting port", e);
            }
        }
    }
 }