Sunday, August 9, 2009
AIA 2.2.1 installation on Solaris
com.oracle.oems.weblogic.AQJMSException: Failed to get Oracle AQ destinations: JMS-232: An invalid user/password was specified for the JMS connection
javax.jms.JMSSecurityException: JMS-232: An invalid user/password was specified for the JMS connection
at oracle.jms.AQjmsDBConnMgr.checkForSecurityException(AQjmsDBConnMgr.java:868)
This is can be resolved with following steps:
1) open file AIA_HOME/Infrastructure/install/wlscripts/FPWLCommonConfig.xml
2) reach to target CreateStartupClasses
3) there are three java tasks for com.oracle.oems.weblogic.AQJMSPasswordUtility
4) in the task for oraesb, password is hardcoded as 'oraesb' in clear text.
5) this should be password of 'ORAESB' database user.
6) change this password value; and restart the installation.
but If you are re-starting installing after failed attempt, you may following steps:
1. login to weblogic console.
2. Delete all the startup classes created as part of previous installation
3. Delete all AIA datasources and connection pools
4. drop AIA schema
Monday, March 3, 2008
properties file in java
Using properties file in java is pretty very common. But the same properties file gives lots of trouble while deployment. java.io.* is bit evil. absolute path makes code OS dependent, while relative path is dependent on JVM. Specially when one is working on app server, thing become much more difficult to trace and debug. i came across this cool coding tip for easy deployment.
/***************************************
String LOG_PROPERTIES_FILE = "Log4J.properties";
Properties logProperties = new Properties();
InputStream in = null;
ClassLoader loader = Thread.currentThread ().getContextClassLoader ();
try {
if (loader == null) loader = ClassLoader.getSystemClassLoader ();
in = loader.getResourceAsStream ("your/package/"+LOG_PROPERTIES_FILE);
if (in != null){
logProperties.load(in);
}
System.out.println("Loaded properties "+LOG_PROPERTIES_FILE);
} catch (IOException e) {
throw new RuntimeException("Unable to load logging property " +LOG_PROPERTIES_FILE);
}
/***************************************
instaed of using FileInputStream directly to read file from classpath, I used ClassLoader to get from current JVM's classpath. the properties file exists as part of same package. This resource file is read as InputStream and loaded in properties.