{"id":10436,"date":"2017-08-13T08:15:16","date_gmt":"2017-08-13T06:15:16","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/weblogic-cannot-register-for-disconnect-events-on-local-server\/"},"modified":"2017-08-13T08:15:16","modified_gmt":"2017-08-13T06:15:16","slug":"weblogic-cannot-register-for-disconnect-events-on-local-server","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/weblogic-cannot-register-for-disconnect-events-on-local-server\/","title":{"rendered":"WebLogic &#8211; Cannot register for disconnect events on local server"},"content":{"rendered":"<p>When working with WebLogic, there will probably be a moment when you will ask yourself: damn, what is wrong? Nowadays, software are so complex that it is kind of easy to introduce bugs\/non-wanted behaviors in them&#8230; In this blog, I will present a small thing that just blew my mind when I faced it: I had a fully working WLS on which I executed a WLST script in order to configure the SSL Ciphers for the Admin Server as well as Managed Servers. After this, the WLS wasn\u2019t able to start anymore but this had nothing to do with the WLST script since I was sure it didn\u2019t contain any error and it did what I expected\u2026 To stay generic, to update the Ciphers of all Managed Servers\/Domains of a single server and because we manage more than one hundred WebLogic Servers at this customer, an automated deployment was really necessary.<\/p>\n<p>On all these WLS, we have a very few of them that contain two domains on the same server (with different IPs\/DNS Aliases of course). To handle this case, we\u00a0had to use a variable that point to the Admin Server in order to connect to this server and execute the WLST script against it. The name of the variable we\u00a0defined is, of course, &#8220;ADMIN_URL&#8221;. This is the name used by WebLogic in the configuration files to point to the Admin Server. So what better name than this? Well actually, anything would have been better since this is what caused this issue&#8230;<\/p>\n<p>&nbsp;<\/p>\n<p>So let&#8217;s demonstrate this. First, I&#8217;m just trying to start the Admin Server without the variable defined:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [3,19,29,30,35,36,44,45,49]\">[weblogic@weblogic_server_01 ~]$ cd $DOMAIN_HOME\/bin\n[weblogic@weblogic_server_01 bin]$ \n[weblogic@weblogic_server_01 bin]$ .\/startWebLogic.sh\n.\n.\nJAVA Memory arguments: -Xms256m -Xmx512m -XX:MaxPermSize=256m\n.\nCLASSPATH=$ORACLE_HOME\/wlserver\/server\/lib\/jcmFIPS.jar:$ORACLE_HOME\/wlserver\/server\/lib\/sslj.jar:$ORACLE_HOME\/wlserver\/server\/lib\/cryptoj.jar::$JAVA_HOME\/lib\/tools.jar:$ORACLE_HOME\/wlserver\/server\/lib\/weblogic_sp.jar:$ORACLE_HOME\/wlserver\/server\/lib\/weblogic.jar:$ORACLE_HOME\/wlserver\/..\/oracle_common\/modules\/net.sf.antcontrib_1.1.0.0_1-0b3\/lib\/ant-contrib.jar:$ORACLE_HOME\/wlserver\/modules\/features\/oracle.wls.common.nodemanager_2.0.0.0.jar:$ORACLE_HOME\/wlserver\/..\/oracle_common\/modules\/com.oracle.cie.config-wls-online_8.1.0.0.jar:$ORACLE_HOME\/wlserver\/common\/derby\/lib\/derbyclient.jar:$ORACLE_HOME\/wlserver\/common\/derby\/lib\/derby.jar:$ORACLE_HOME\/wlserver\/server\/lib\/xqrl.jar:$DOMAIN_HOME\/lib\/LB.jar:$DOMAIN_HOME\/lib\/LBJNI.jar:\n.\nPATH=$ORACLE_HOME\/wlserver\/server\/bin:$ORACLE_HOME\/wlserver\/..\/oracle_common\/modules\/org.apache.ant_1.9.2\/bin:$JAVA_HOME\/jre\/bin:$JAVA_HOME\/bin:$DOMAIN_HOME\/D2\/lockbox:$DOMAIN_HOME\/D2\/lockbox\/lib\/native\/linux_gcc34_x64:$JAVA_HOME\/bin:\/usr\/lib64\/qt-3.3\/bin:\/usr\/local\/bin:\/bin:\/usr\/bin:\/usr\/local\/sbin:\/usr\/sbin:\/sbin:\/home\/weblogic\/bin\n.\n***************************************************\n* To start WebLogic Server, use a username and    *\n* password assigned to an admin-level user. For   *\n* server administration, use the WebLogic Server  *\n* console at http:\/\/hostname:port\/console         *\n***************************************************\nstarting weblogic with Java version:\njava version \"1.8.0_102\"\nJava(TM) SE Runtime Environment (build 1.8.0_102-b14)\nJava HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)\nStarting WLS with line:\n$JAVA_HOME\/bin\/java -server -Xms256m -Xmx512m -XX:MaxPermSize=256m -Dweblogic.Name=AdminServer -Djava.security.policy=$ORACLE_HOME\/wlserver\/server\/lib\/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Ddomain.home=$DOMAIN_HOME -Dweblogic.nodemanager.ServiceEnabled=true -Dweblogic.security.SSL.minimumProtocolVersion=TLSv1.2 -Dweblogic.security.disableNullCipher=true -Djava.security.egd=file:\/\/\/dev\/.\/urandom -Dweblogic.security.allowCryptoJDefaultJCEVerification=true -Dweblogic.nodemanager.ServiceEnabled=true -Djava.endorsed.dirs=$JAVA_HOME\/jre\/lib\/endorsed:$ORACLE_HOME\/wlserver\/..\/oracle_common\/modules\/endorsed -da -Dwls.home=$ORACLE_HOME\/wlserver\/server -Dweblogic.home=$ORACLE_HOME\/wlserver\/server -Dweblogic.utils.cmm.lowertier.ServiceDisabled=true weblogic.Server\nJava HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0\n&lt;Aug 5, 2017 1:37:30 PM UTC&gt; &lt;Info&gt; &lt;Security&gt; &lt;BEA-090906&gt; &lt;Changing the default Random Number Generator in RSA CryptoJ from ECDRBG128 to FIPS186PRNG. To disable this change, specify -Dweblogic.security.allowCryptoJDefaultPRNG=true.&gt;\n&lt;Aug 5, 2017 1:37:30 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000395&gt; &lt;The following extensions directory contents added to the end of the classpath:\n$DOMAIN_HOME\/lib\/LB.jar:$DOMAIN_HOME\/lib\/LBJNI.jar.&gt;\n&lt;Aug 5, 2017 1:37:30 PM UTC&gt; &lt;Info&gt; &lt;WebLogicServer&gt; &lt;BEA-000377&gt; &lt;Starting WebLogic Server with Java HotSpot(TM) 64-Bit Server VM Version 25.102-b14 from Oracle Corporation.&gt;\n&lt;Aug 5, 2017 1:37:31 PM UTC&gt; &lt;Info&gt; &lt;Management&gt; &lt;BEA-141107&gt; &lt;Version: WebLogic Server 12.1.3.0.0 Wed May 21 18:53:34 PDT 2014 1604337 &gt;\n&lt;Aug 5, 2017 1:37:32 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000365&gt; &lt;Server state changed to STARTING.&gt;\n&lt;Aug 5, 2017 1:37:32 PM UTC&gt; &lt;Info&gt; &lt;WorkManager&gt; &lt;BEA-002900&gt; &lt;Initializing self-tuning thread pool.&gt;\n&lt;Aug 5, 2017 1:37:32 PM UTC&gt; &lt;Info&gt; &lt;WorkManager&gt; &lt;BEA-002942&gt; &lt;CMM memory level becomes 0. Setting standby thread pool size to 256.&gt;\n&lt;Aug 5, 2017 1:37:33 PM UTC&gt; &lt;Notice&gt; &lt;Log Management&gt; &lt;BEA-170019&gt; &lt;The server log file $DOMAIN_HOME\/servers\/AdminServer\/logs\/AdminServer.log is opened. All server side log events will be written to this file.&gt;\n&lt;Aug 5, 2017 1:37:34 PM UTC&gt; &lt;Notice&gt; &lt;Security&gt; &lt;BEA-090082&gt; &lt;Security initializing using security realm myrealm.&gt;\n&lt;Aug 5, 2017 1:37:36 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000365&gt; &lt;Server state changed to STANDBY.&gt;\n&lt;Aug 5, 2017 1:37:36 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000365&gt; &lt;Server state changed to STARTING.&gt;\nAug 5, 2017 1:37:36 PM weblogic.wsee.WseeCoreMessages logWseeServiceStarting\nINFO: The Wsee Service is starting\n&lt;Aug 5, 2017 1:37:37 PM UTC&gt; &lt;Warning&gt; &lt;Munger&gt; &lt;BEA-2156227&gt; &lt;The \"META-INF\/application.xml\" deployment descriptor for the \"consoleapp\" module is in DTD format. Overrides from the deployment plan will NOT be applied since only deployment descriptors in XML Schema format are supported.&gt;\n&lt;Aug 5, 2017 1:37:37 PM UTC&gt; &lt;Warning&gt; &lt;Munger&gt; &lt;BEA-2156227&gt; &lt;The \"WEB-INF\/weblogic.xml\" deployment descriptor for the \"consolehelp\" module is in DTD format. Overrides from the deployment plan will NOT be applied since only deployment descriptors in XML Schema format are supported.&gt;\n&lt;Aug 5, 2017 1:37:38 PM UTC&gt; &lt;Notice&gt; &lt;Security&gt; &lt;BEA-090171&gt; &lt;Loading the identity certificate and private key stored under the alias mycert from the JKS keystore file $DOMAIN_HOME\/certs\/identity.jks.&gt;\n&lt;Aug 5, 2017 1:37:38 PM UTC&gt; &lt;Notice&gt; &lt;Security&gt; &lt;BEA-090169&gt; &lt;Loading trusted certificates from the JKS keystore file $DOMAIN_HOME\/certs\/trust.jks.&gt;\n&lt;Aug 5, 2017 1:37:39 PM UTC&gt; &lt;Notice&gt; &lt;Log Management&gt; &lt;BEA-170027&gt; &lt;The server has successfully established a connection with the Domain level Diagnostic Service.&gt;\n&lt;Aug 5, 2017 1:37:40 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000365&gt; &lt;Server state changed to ADMIN.&gt;\n&lt;Aug 5, 2017 1:37:40 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000365&gt; &lt;Server state changed to RESUMING.&gt;\n&lt;Aug 5, 2017 1:37:40 PM UTC&gt; &lt;Notice&gt; &lt;Server&gt; &lt;BEA-002613&gt; &lt;Channel \"DefaultSecure\" is now listening on weblogic_server_01:8443 for protocols iiops, t3s, ldaps, https.&gt;\n&lt;Aug 5, 2017 1:37:40 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000329&gt; &lt;Started the WebLogic Server Administration Server \"AdminServer\" for domain \"DOMAIN\" running in production mode.&gt;\n&lt;Aug 5, 2017 1:37:40 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000360&gt; &lt;The server started in RUNNING mode.&gt;\n&lt;Aug 5, 2017 1:37:40 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000365&gt; &lt;Server state changed to RUNNING.&gt;\n\n^C\n&lt;Aug 5, 2017 1:37:55 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000388&gt; &lt;JVM called the WebLogic Server shutdown hook. The server will force shutdown now.&gt;\n&lt;Aug 5, 2017 1:37:55 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000396&gt; &lt;Server shutdown has been requested by &lt;WLS Kernel&gt;.&gt;\n&lt;Aug 5, 2017 1:37:55 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000365&gt; &lt;Server state changed to FORCE_SUSPENDING.&gt;\n&lt;Aug 5, 2017 1:37:55 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000365&gt; &lt;Server state changed to ADMIN.&gt;\n&lt;Aug 5, 2017 1:37:55 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000365&gt; &lt;Server state changed to FORCE_SHUTTING_DOWN.&gt;\n&lt;Aug 5, 2017 1:37:55 PM UTC&gt; &lt;Notice&gt; &lt;Server&gt; &lt;BEA-002607&gt; &lt;Channel \"DefaultSecure\", listening on weblogic_server_01:8443, was shut down.&gt;\n[weblogic@weblogic_server_01 bin]$<\/pre>\n<p>&nbsp;<\/p>\n<p>As you can see above, the Admin Server is starting properly. Once in RUNNING state, I just stopped it (CTRL+C) to continue the demo.<\/p>\n<p>The next step is to find the current value of &#8220;ADMIN_URL&#8221;. This variable is used in the files stopWebLogic.sh, stopManagedWebLogic.sh and startManagedWebLogic.sh. To be able to stop these components, the address of the Admin Server is needed. The funny thing is that in two of these three files, it is using the &#8220;t3s&#8221; protocol and on the third one, it is using &#8220;https&#8221; (or t3\/http if not in SSL-enabled). Once you have this value, you define your environment variable using this exact same value (manual setup or more automatic setup):<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">[weblogic@weblogic_server_01 bin]$ echo $ADMIN_URL\n\n[weblogic@weblogic_server_01 bin]$\n[weblogic@weblogic_server_01 bin]$\n[weblogic@weblogic_server_01 bin]$ grep -E 'ADMIN_URL=\"[th]' *.sh\nstartManagedWebLogic.sh:\tADMIN_URL=\"https:\/\/weblogic_server_01:8443\"\nstopManagedWebLogic.sh:\t\tADMIN_URL=\"t3s:\/\/weblogic_server_01:8443\"\nstopWebLogic.sh:\t\t\tADMIN_URL=\"t3s:\/\/weblogic_server_01:8443\"\n[weblogic@weblogic_server_01 bin]$\n[weblogic@weblogic_server_01 bin]$ export ADMIN_URL=\"https:\/\/weblogic_server_01:8443\"\n[weblogic@weblogic_server_01 bin]$ # or\n[weblogic@weblogic_server_01 bin]$ export ADMIN_URL=`grep -E 'ADMIN_URL=\"[th]' stopWebLogic.sh | sed 's,ADMIN_URL=\"([^\"]*)\",1,'`\n[weblogic@weblogic_server_01 bin]$\n[weblogic@weblogic_server_01 bin]$ echo $ADMIN_URL\nt3s:\/\/weblogic_server_01:8443\n[weblogic@weblogic_server_01 bin]$<\/pre>\n<p>&nbsp;<\/p>\n<p>At this point, I defined the ADMIN_URL variable using the T3S protocol. We can think that this wouldn&#8217;t affect the start of our domain. I mean we are just defining a variable that exist in the shell scripts of WebLogic with the exact same value&#8230; But note that this variable isn&#8217;t defined in the file &#8220;startWebLogic.sh&#8221;&#8230; Once this is done, we can reproduce the issue. For that, simply try to start the Admin Server again:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [31,36,37,38,43,44,54,58,85,86,87]\">[weblogic@weblogic_server_01 bin]$ .\/startWebLogic.sh\n.\n.\nJAVA Memory arguments: -Xms256m -Xmx512m -XX:MaxPermSize=256m\n.\nCLASSPATH=$ORACLE_HOME\/wlserver\/server\/lib\/jcmFIPS.jar:$ORACLE_HOME\/wlserver\/server\/lib\/sslj.jar:$ORACLE_HOME\/wlserver\/server\/lib\/cryptoj.jar::$JAVA_HOME\/lib\/tools.jar:$ORACLE_HOME\/wlserver\/server\/lib\/weblogic_sp.jar:$ORACLE_HOME\/wlserver\/server\/lib\/weblogic.jar:$ORACLE_HOME\/wlserver\/..\/oracle_common\/modules\/net.sf.antcontrib_1.1.0.0_1-0b3\/lib\/ant-contrib.jar:$ORACLE_HOME\/wlserver\/modules\/features\/oracle.wls.common.nodemanager_2.0.0.0.jar:$ORACLE_HOME\/wlserver\/..\/oracle_common\/modules\/com.oracle.cie.config-wls-online_8.1.0.0.jar:$ORACLE_HOME\/wlserver\/common\/derby\/lib\/derbyclient.jar:$ORACLE_HOME\/wlserver\/common\/derby\/lib\/derby.jar:$ORACLE_HOME\/wlserver\/server\/lib\/xqrl.jar:$DOMAIN_HOME\/lib\/LB.jar:$DOMAIN_HOME\/lib\/LBJNI.jar:\n.\nPATH=$ORACLE_HOME\/wlserver\/server\/bin:$ORACLE_HOME\/wlserver\/..\/oracle_common\/modules\/org.apache.ant_1.9.2\/bin:$JAVA_HOME\/jre\/bin:$JAVA_HOME\/bin:$DOMAIN_HOME\/D2\/lockbox:$DOMAIN_HOME\/D2\/lockbox\/lib\/native\/linux_gcc34_x64:$JAVA_HOME\/bin:\/usr\/lib64\/qt-3.3\/bin:\/usr\/local\/bin:\/bin:\/usr\/bin:\/usr\/local\/sbin:\/usr\/sbin:\/sbin:\/home\/weblogic\/bin\n.\n***************************************************\n* To start WebLogic Server, use a username and *\n* password assigned to an admin-level user. For *\n* server administration, use the WebLogic Server *\n* console at http:\/\/hostname:port\/console *\n***************************************************\nstarting weblogic with Java version:\njava version \"1.8.0_102\"\nJava(TM) SE Runtime Environment (build 1.8.0_102-b14)\nJava HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)\nStarting WLS with line:\n$JAVA_HOME\/bin\/java -server -Xms256m -Xmx512m -XX:MaxPermSize=256m -Dweblogic.Name=AdminServer -Djava.security.policy=$ORACLE_HOME\/wlserver\/server\/lib\/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Ddomain.home=$DOMAIN_HOME -Dweblogic.nodemanager.ServiceEnabled=true -Dweblogic.security.SSL.minimumProtocolVersion=TLSv1.2 -Dweblogic.security.disableNullCipher=true -Djava.security.egd=file:\/\/\/dev\/.\/urandom -Dweblogic.security.allowCryptoJDefaultJCEVerification=true -Dweblogic.nodemanager.ServiceEnabled=true -Djava.endorsed.dirs=$JAVA_HOME\/jre\/lib\/endorsed:$ORACLE_HOME\/wlserver\/..\/oracle_common\/modules\/endorsed -da -Dwls.home=$ORACLE_HOME\/wlserver\/server -Dweblogic.home=$ORACLE_HOME\/wlserver\/server -Dweblogic.management.server=t3s:\/\/weblogic_server_01:8443 -Dweblogic.utils.cmm.lowertier.ServiceDisabled=true weblogic.Server\nJava HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0\n&lt;Aug 5, 2017 1:40:04 PM UTC&gt; &lt;Info&gt; &lt;Security&gt; &lt;BEA-090906&gt; &lt;Changing the default Random Number Generator in RSA CryptoJ from ECDRBG128 to FIPS186PRNG. To disable this change, specify -Dweblogic.security.allowCryptoJDefaultPRNG=true.&gt;\n&lt;Aug 5, 2017 1:40:04 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000395&gt; &lt;The following extensions directory contents added to the end of the classpath:\n$DOMAIN_HOME\/lib\/LB.jar:$DOMAIN_HOME\/lib\/LBJNI.jar.&gt;\n&lt;Aug 5, 2017 1:40:04 PM UTC&gt; &lt;Info&gt; &lt;WebLogicServer&gt; &lt;BEA-000377&gt; &lt;Starting WebLogic Server with Java HotSpot(TM) 64-Bit Server VM Version 25.102-b14 from Oracle Corporation.&gt;\n&lt;Aug 5, 2017 1:40:05 PM UTC&gt; &lt;Warning&gt; &lt;Security&gt; &lt;BEA-090924&gt; &lt;JSSE has been selected by default, since the SSLMBean is not available.&gt;\n&lt;Aug 5, 2017 1:40:05 PM UTC&gt; &lt;Info&gt; &lt;Security&gt; &lt;BEA-090908&gt; &lt;Using the default WebLogic SSL Hostname Verifier implementation.&gt;\n&lt;Aug 5, 2017 1:40:05 PM UTC&gt; &lt;Notice&gt; &lt;Security&gt; &lt;BEA-090169&gt; &lt;Loading trusted certificates from the jks keystore file $ORACLE_HOME\/wlserver\/server\/lib\/DemoTrust.jks.&gt;\n&lt;Aug 5, 2017 1:40:06 PM UTC&gt; &lt;Notice&gt; &lt;Security&gt; &lt;BEA-090169&gt; &lt;Loading trusted certificates from the jks keystore file $JAVA_HOME\/jre\/lib\/security\/cacerts.&gt;\n&lt;Aug 5, 2017 1:40:06 PM UTC&gt; &lt;Info&gt; &lt;Management&gt; &lt;BEA-141298&gt; &lt;Could not register with the Administration Server: java.rmi.RemoteException: [Deployer:149147]Could not reach the Administration Server through any of its URLs: \"https:\/\/weblogic_server_01:8443\".&gt;\n&lt;Aug 5, 2017 1:40:06 PM UTC&gt; &lt;Info&gt; &lt;Management&gt; &lt;BEA-141107&gt; &lt;Version: WebLogic Server 12.1.3.0.0 Wed May 21 18:53:34 PDT 2014 1604337 &gt;\n&lt;Aug 5, 2017 1:40:07 PM UTC&gt; &lt;Info&gt; &lt;Security&gt; &lt;BEA-090908&gt; &lt;Using the default WebLogic SSL Hostname Verifier implementation.&gt;\n&lt;Aug 5, 2017 1:40:07 PM UTC&gt; &lt;Notice&gt; &lt;Security&gt; &lt;BEA-090169&gt; &lt;Loading trusted certificates from the jks keystore file $ORACLE_HOME\/wlserver\/server\/lib\/DemoTrust.jks.&gt;\n&lt;Aug 5, 2017 1:40:07 PM UTC&gt; &lt;Notice&gt; &lt;Security&gt; &lt;BEA-090169&gt; &lt;Loading trusted certificates from the jks keystore file $JAVA_HOME\/jre\/lib\/security\/cacerts.&gt;\n&lt;Aug 5, 2017 1:40:07 PM UTC&gt; &lt;Alert&gt; &lt;Management&gt; &lt;BEA-141151&gt; &lt;The Administration Server could not be reached at https:\/\/weblogic_server_01:8443.&gt;\n&lt;Aug 5, 2017 1:40:07 PM UTC&gt; &lt;Info&gt; &lt;Configuration Management&gt; &lt;BEA-150018&gt; &lt;This server is being started in Managed Server independence mode in the absence of the Administration Server.&gt;\n&lt;Aug 5, 2017 1:40:07 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000365&gt; &lt;Server state changed to STARTING.&gt;\n&lt;Aug 5, 2017 1:40:07 PM UTC&gt; &lt;Info&gt; &lt;WorkManager&gt; &lt;BEA-002900&gt; &lt;Initializing self-tuning thread pool.&gt;\n&lt;Aug 5, 2017 1:40:07 PM UTC&gt; &lt;Info&gt; &lt;WorkManager&gt; &lt;BEA-002942&gt; &lt;CMM memory level becomes 0. Setting standby thread pool size to 256.&gt;\n&lt;Aug 5, 2017 1:40:07 PM UTC&gt; &lt;Notice&gt; &lt;Log Management&gt; &lt;BEA-170019&gt; &lt;The server log file $DOMAIN_HOME\/servers\/AdminServer\/logs\/AdminServer.log is opened. All server side log events will be written to this file.&gt;\n&lt;Aug 5, 2017 1:40:09 PM UTC&gt; &lt;Notice&gt; &lt;Security&gt; &lt;BEA-090082&gt; &lt;Security initializing using security realm myrealm.&gt;\n&lt;Aug 5, 2017 1:40:10 PM UTC&gt; &lt;Error&gt; &lt;Configuration Management&gt; &lt;BEA-150000&gt; &lt;An error occurred while establishing a connection back to the Adminstration Server t3s:\/\/weblogic_server_01:8443 during startup. Since bootstrap succeeded, check that t3s:\/\/weblogic_server_01:8443 uniquely identifies the Administration Server.\njavax.naming.ConfigurationException: Cannot register for disconnect events on local server\n    at weblogic.server.channels.RemoteChannelServiceImpl.registerInternal(RemoteChannelServiceImpl.java:234)\n    at weblogic.server.channels.RemoteChannelServiceImpl.registerForever(RemoteChannelServiceImpl.java:190)\n    at weblogic.protocol.ConnectMonitorFactory.registerForever(ConnectMonitorFactory.java:54)\n    at weblogic.management.provider.MSIService.registerForReconnectToAdminServer(MSIService.java:188)\n    at weblogic.management.mbeanservers.compatibility.internal.CompatibilityMBeanServerService.start(CompatibilityMBeanServerService.java:183)\n    Truncated. see log file for complete stacktrace\n&gt;\n&lt;Aug 5, 2017 1:40:10 PM UTC&gt; &lt;Notice&gt; &lt;Security&gt; &lt;BEA-090171&gt; &lt;Loading the identity certificate and private key stored under the alias myacert from the JKS keystore file $DOMAIN_HOME\/certs\/identity.jks.&gt;\n&lt;Aug 5, 2017 1:40:10 PM UTC&gt; &lt;Notice&gt; &lt;Security&gt; &lt;BEA-090169&gt; &lt;Loading trusted certificates from the JKS keystore file $DOMAIN_HOME\/certs\/trust.jks.&gt;\n&lt;Aug 5, 2017 1:40:12 PM UTC&gt; &lt;Critical&gt; &lt;WebLogicServer&gt; &lt;BEA-000362&gt; &lt;Server failed. Reason:\n\n    There are 1 nested errors:\n\njavax.naming.ConfigurationException: Cannot register for disconnect events on local server\n    at weblogic.server.channels.RemoteChannelServiceImpl.registerInternal(RemoteChannelServiceImpl.java:234)\n    at weblogic.server.channels.RemoteChannelServiceImpl.registerForever(RemoteChannelServiceImpl.java:190)\n    at weblogic.protocol.ConnectMonitorFactory.registerForever(ConnectMonitorFactory.java:54)\n    at weblogic.management.provider.MSIService.registerForReconnectToAdminServer(MSIService.java:188)\n    at weblogic.management.mbeanservers.compatibility.internal.CompatibilityMBeanServerService.start(CompatibilityMBeanServerService.java:183)\n    at weblogic.server.AbstractServerService.postConstruct(AbstractServerService.java:78)\n    at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)\n    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n    at java.lang.reflect.Method.invoke(Method.java:498)\n    at org.glassfish.hk2.utilities.reflection.ReflectionHelper.invoke(ReflectionHelper.java:1017)\n    at org.jvnet.hk2.internal.ClazzCreator.postConstructMe(ClazzCreator.java:388)\n    at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:430)\n    at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:456)\n    at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:225)\n    at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:82)\n    at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2488)\n    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:98)\n    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:87)\n    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1162)\n    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1147)\n    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$UpOneLevel.run(CurrentTaskFuture.java:753)\n    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:553)\n    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)\n    at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)\n\n&gt;\n&lt;Aug 5, 2017 1:40:12 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000365&gt; &lt;Server state changed to FAILED.&gt;\n&lt;Aug 5, 2017 1:40:12 PM UTC&gt; &lt;Error&gt; &lt;WebLogicServer&gt; &lt;BEA-000383&gt; &lt;A critical service failed. The server will shut itself down.&gt;\n&lt;Aug 5, 2017 1:40:12 PM UTC&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000365&gt; &lt;Server state changed to FORCE_SHUTTING_DOWN.&gt;\n[weblogic@weblogic_server_01 bin]$<\/pre>\n<p>&nbsp;<\/p>\n<p>So what is happening exactly that can cause this simple variable definition to prevent you to start your Admin Server? If you take a look at the script &#8220;startWebLogic.sh&#8221;, you will not see any use of this variable so you should be good, right? Well not really because this script is actually loading its environment by using the well-known &#8220;setDomainEnv.sh&#8221; (in the same folder). The interesting part is in this second file&#8230; If you are checking the usage of &#8220;ADMIN_URL&#8221; in this setDomainEnv, you will see an &#8220;if-then-else&#8221; section:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [9]\">[weblogic@weblogic_server_01 bin]$ grep -C2 \"ADMIN_URL\" setDomainEnv.sh\n# Clustering support (edit for your cluster!)\n\nif [ \"${ADMIN_URL}\" = \"\" ] ; then\n        # The then part of this block is telling us we are either starting an admin server OR we are non-clustered\n        CLUSTER_PROPERTIES=\"\"\n        export CLUSTER_PROPERTIES\nelse\n        CLUSTER_PROPERTIES=\"-Dweblogic.management.server=${ADMIN_URL}\"\n        export CLUSTER_PROPERTIES\nfi\n[weblogic@weblogic_server_01 bin]$<\/pre>\n<p>&nbsp;<\/p>\n<p>With this small portion of code, you can actually understand the issue:<\/p>\n<ul>\n<li>if the variable &#8220;ADMIN_URL&#8221; isn&#8217;t defined when loading the file setDomainEnv.sh, then WebLogic will suppose that you are starting an Admin Server or that you are in a non-clustered environment.<\/li>\n<li>if the variable &#8220;ADMIN_URL&#8221; is defined when loading the file setDomainEnv.sh, then WebLogic will suppose that you are starting a clustered environment<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Therefore when defining the ADMIN_URL in the environment, we are actually &#8211; unintentionally &#8211; saying to WebLogic that this is a cluster and that the Management Server can be found at $ADMIN_URL&#8230; But this URL is the local Admin Server which we are trying to start. Thus the failure to start&#8230;<\/p>\n<p>If you carefully read the logs above, you could actually saw this small difference&#8230; When reproducing the error, if you take a look at the end of the line 21, you will see that the JVM parameter &#8220;-Dweblogic.management.server=t3s:\/\/weblogic_server_01:8443&#8221; is present and that&#8217;s the reason of this issue.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When working with WebLogic, there will probably be a moment when you will ask yourself: damn, what is wrong? Nowadays, software are so complex that it is kind of easy to introduce bugs\/non-wanted behaviors in them&#8230; In this blog, I will present a small thing that just blew my mind when I faced it: I [&hellip;]<\/p>\n","protected":false},"author":20,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197],"tags":[60,1163,1164,38,96,723],"type_dbi":[],"class_list":["post-10436","post","type-post","status-publish","format-standard","hentry","category-application-integration-middleware","tag-12c","tag-admin-server","tag-admin_url","tag-cluster","tag-oracle","tag-weblogic-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>WebLogic - Cannot register for disconnect events on local server - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/weblogic-cannot-register-for-disconnect-events-on-local-server\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WebLogic - Cannot register for disconnect events on local server\" \/>\n<meta property=\"og:description\" content=\"When working with WebLogic, there will probably be a moment when you will ask yourself: damn, what is wrong? Nowadays, software are so complex that it is kind of easy to introduce bugs\/non-wanted behaviors in them&#8230; In this blog, I will present a small thing that just blew my mind when I faced it: I [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/weblogic-cannot-register-for-disconnect-events-on-local-server\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-08-13T06:15:16+00:00\" \/>\n<meta name=\"author\" content=\"Morgan Patou\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@MorganPatou\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Morgan Patou\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/weblogic-cannot-register-for-disconnect-events-on-local-server\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/weblogic-cannot-register-for-disconnect-events-on-local-server\\\/\"},\"author\":{\"name\":\"Morgan Patou\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/c4d05b25843a9bc2ab20415dae6bd2d8\"},\"headline\":\"WebLogic &#8211; Cannot register for disconnect events on local server\",\"datePublished\":\"2017-08-13T06:15:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/weblogic-cannot-register-for-disconnect-events-on-local-server\\\/\"},\"wordCount\":764,\"commentCount\":1,\"keywords\":[\"12c\",\"Admin Server\",\"ADMIN_URL\",\"Cluster\",\"Oracle\",\"WebLogic Server\"],\"articleSection\":[\"Application integration &amp; Middleware\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/weblogic-cannot-register-for-disconnect-events-on-local-server\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/weblogic-cannot-register-for-disconnect-events-on-local-server\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/weblogic-cannot-register-for-disconnect-events-on-local-server\\\/\",\"name\":\"WebLogic - Cannot register for disconnect events on local server - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2017-08-13T06:15:16+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/c4d05b25843a9bc2ab20415dae6bd2d8\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/weblogic-cannot-register-for-disconnect-events-on-local-server\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/weblogic-cannot-register-for-disconnect-events-on-local-server\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/weblogic-cannot-register-for-disconnect-events-on-local-server\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WebLogic &#8211; Cannot register for disconnect events on local server\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/c4d05b25843a9bc2ab20415dae6bd2d8\",\"name\":\"Morgan Patou\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"caption\":\"Morgan Patou\"},\"description\":\"Morgan Patou has over 12 years of experience in Enterprise Content Management (ECM) systems, with a strong focus in recent years on platforms such as Alfresco, Documentum, and M-Files. He specializes in the architecture, setup, customization, and maintenance of ECM infrastructures in complex &amp; critical environments. Morgan is well-versed in both engineering and operations aspects, including high availability design, system integration, and lifecycle management. He also has a solid foundation in open-source and proprietary technologies - ranging from Apache, OpenLDAP or Kerberos to enterprise-grade systems like WebLogic. Morgan Patou holds an Engineering Degree in Computer Science from ENSISA (\u00c9cole Nationale Sup\u00e9rieure d'Ing\u00e9nieurs Sud Alsace) in Mulhouse, France. He is Alfresco Content Services Certified Administrator (ACSCA), Alfresco Content Services Certified Engineer (ACSCE) as well as OpenText Documentum Certified Administrator. His industry experience spans the Public Sector, IT Services, Financial Services\\\/Banking, and the Pharmaceutical industry.\",\"sameAs\":[\"https:\\\/\\\/blog.dbi-services.com\\\/author\\\/morgan-patou\\\/\",\"https:\\\/\\\/x.com\\\/MorganPatou\"],\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/morgan-patou\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"WebLogic - Cannot register for disconnect events on local server - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/weblogic-cannot-register-for-disconnect-events-on-local-server\/","og_locale":"en_US","og_type":"article","og_title":"WebLogic - Cannot register for disconnect events on local server","og_description":"When working with WebLogic, there will probably be a moment when you will ask yourself: damn, what is wrong? Nowadays, software are so complex that it is kind of easy to introduce bugs\/non-wanted behaviors in them&#8230; In this blog, I will present a small thing that just blew my mind when I faced it: I [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/weblogic-cannot-register-for-disconnect-events-on-local-server\/","og_site_name":"dbi Blog","article_published_time":"2017-08-13T06:15:16+00:00","author":"Morgan Patou","twitter_card":"summary_large_image","twitter_creator":"@MorganPatou","twitter_misc":{"Written by":"Morgan Patou","Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/weblogic-cannot-register-for-disconnect-events-on-local-server\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/weblogic-cannot-register-for-disconnect-events-on-local-server\/"},"author":{"name":"Morgan Patou","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8"},"headline":"WebLogic &#8211; Cannot register for disconnect events on local server","datePublished":"2017-08-13T06:15:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/weblogic-cannot-register-for-disconnect-events-on-local-server\/"},"wordCount":764,"commentCount":1,"keywords":["12c","Admin Server","ADMIN_URL","Cluster","Oracle","WebLogic Server"],"articleSection":["Application integration &amp; Middleware"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/weblogic-cannot-register-for-disconnect-events-on-local-server\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/weblogic-cannot-register-for-disconnect-events-on-local-server\/","url":"https:\/\/www.dbi-services.com\/blog\/weblogic-cannot-register-for-disconnect-events-on-local-server\/","name":"WebLogic - Cannot register for disconnect events on local server - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2017-08-13T06:15:16+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/weblogic-cannot-register-for-disconnect-events-on-local-server\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/weblogic-cannot-register-for-disconnect-events-on-local-server\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/weblogic-cannot-register-for-disconnect-events-on-local-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"WebLogic &#8211; Cannot register for disconnect events on local server"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8","name":"Morgan Patou","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","caption":"Morgan Patou"},"description":"Morgan Patou has over 12 years of experience in Enterprise Content Management (ECM) systems, with a strong focus in recent years on platforms such as Alfresco, Documentum, and M-Files. He specializes in the architecture, setup, customization, and maintenance of ECM infrastructures in complex &amp; critical environments. Morgan is well-versed in both engineering and operations aspects, including high availability design, system integration, and lifecycle management. He also has a solid foundation in open-source and proprietary technologies - ranging from Apache, OpenLDAP or Kerberos to enterprise-grade systems like WebLogic. Morgan Patou holds an Engineering Degree in Computer Science from ENSISA (\u00c9cole Nationale Sup\u00e9rieure d'Ing\u00e9nieurs Sud Alsace) in Mulhouse, France. He is Alfresco Content Services Certified Administrator (ACSCA), Alfresco Content Services Certified Engineer (ACSCE) as well as OpenText Documentum Certified Administrator. His industry experience spans the Public Sector, IT Services, Financial Services\/Banking, and the Pharmaceutical industry.","sameAs":["https:\/\/blog.dbi-services.com\/author\/morgan-patou\/","https:\/\/x.com\/MorganPatou"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/morgan-patou\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/10436","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=10436"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/10436\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=10436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=10436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=10436"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=10436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}