Thursday, March 10, 2016

Oracle® SOA Suite 12.1.3 startup fails with CoherenceException due to ensureWKAAddresses

The problem

After a fresh install of Oracle® SOA Suite 12.1.3 with BPM and BAM enabled, both the SOA server and the BAM server failed to startup due to the following exception:

<Mar 9, 2016 9:49:34 AM UTC> <Error> <weblogic-coherence-integration> <BEA-000012> <Server bam_server1 is configured with localhost as the Unicast Listen Address which is an error in Coherence Production mode. A generated Coherence WKA list will not operate correctly across multiple machines.>
Mar 09, 2016 9:49:36 AM oracle.dms.servlet.DMSServletFilter setEagerlySetContextValues
INFO: The setting that controls the eager fetching of some types of execution context data has been set to true.
<Mar 9, 2016 9:49:37 AM UTC> <Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason:

There are 1 nested errors:

    at weblogic.cacheprovider.coherence.CoherenceClusterManager.ensureWKAAddresses(
    at weblogic.cacheprovider.coherence.CoherenceClusterManager.configureClusterService(
    at weblogic.cacheprovider.CacheProviderServerService.bootCoherenceFromWLSCluster(
    at weblogic.cacheprovider.CacheProviderServerService.initCoherence(
    at weblogic.cacheprovider.CacheProviderServerService.initialize(
    at weblogic.cacheprovider.CacheProviderServerService.start(
    at weblogic.server.AbstractServerService.postConstruct(
    at sun.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(
    at java.lang.reflect.Method.invoke(
    at org.glassfish.hk2.utilities.reflection.ReflectionHelper.invoke(
    at org.jvnet.hk2.internal.ClazzCreator.postConstructMe(
    at org.jvnet.hk2.internal.ClazzCreator.create(
    at org.jvnet.hk2.internal.SystemDescriptor.create(
    at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(
    at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(
    at org.jvnet.hk2.internal.Utilities.createService(
    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(
    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(
    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(
    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$

<Mar 9, 2016 9:49:37 AM UTC> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED.>
<Mar 9, 2016 9:49:37 AM UTC> <Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down.>
<Mar 9, 2016 9:49:37 AM UTC> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN.>

The cause

As stated in the exception, the issue is that the servers are listening on localhost instead of the actual hostname while the Oracle® WebLogic Server is running in Production mode.

The solution

There are multiple solutions to this one, but the two most obvious ones are to either run Oracle® WebLogic Server is running in Development mode, or to listen to the actual hostname instead of localhost. I would not recommend the former. Not unless it is a single user development system.

Run the hostname command to find the actual hostname. The hostname command works on both Linux, Unix and Windows.
Edit the managed servers through the  Oracle® WebLogic Server console, and set the value returned from the hostname command as the Listen Address,

No comments:

Post a Comment