eclipse-ee4j / glassfish

Eclipse GlassFish
https://eclipse-ee4j.github.io/glassfish/
384 stars 143 forks source link

"connector-service" is not defined in cluster. #21848

Closed glassfishrobot closed 7 years ago

glassfishrobot commented 7 years ago

"connector-service" is not defined in cluster. I can't change connector-service config attribute in cluster. It seems that connector-service works with default values in cluster-instance.

Environment Details


Problem Description

"connector-service" is defined in server but not defined in cluster.

> asadmin get server.connector-service
server.connector-service.class-loading-policy=derived
server.connector-service.shutdown-timeout-in-seconds=30
Command get executed successfully.

> asadmin create-cluster cluster
Command create-cluster executed successfully.

> asadmin get cluster.connector-service
remote failure: Dotted name path cluster.connector-service not found.
Command get failed.

In domain.xml, connector-service tag is defined in server-config, but not defined in cluster-config and default-config.

    <config name="server-config">
      --snip--
      </admin-service>
      <connector-service></connector-service>
      <transaction-service tx-log-dir="${com.sun.aas.instanceRoot}/logs"></transaction-service>
      --snip--

    <config name="default-config">
      --connector-service tag is not found in default-config--

    <config name="cluster-config">
      --connector-service tag is not found in cluster-config--

Steps to reproduce

  1. asadmin start-domain
  2. asadmin get server.connector-service
  3. asadmin create-cluster cluster
  4. asadmin get cluster.connector-service

Impact of Issue

I can't change connector-service config attribute in cluster. It seems that connector-service works with default values in cluster-instance.

Fix

Adding connector-service tag to default-config in domain.xml fixes this issue. Clusters already created before adding connector-service to default-config need re-create, or add connector-service tag to each cluster-config in domain.xml.

     <config name="default-config">
         --snip--
         <property name="adminConsoleDownloadLocation" value="${com.sun.aas.installRoot}/lib/install/applications/admingui.war"></property>
         <das-config></das-config>
       </admin-service>
+      <connector-service></connector-service>
       <web-container>
         <session-config>
           <session-manager>

Then I can find connector-service in cluster.

> asadmin get server.connector-service
server.connector-service.class-loading-policy=derived
server.connector-service.shutdown-timeout-in-seconds=30
Command get executed successfully.

> asadmin create-cluster cluster
Command create-cluster executed successfully.

> asadmin get cluster.connector-service
cluster.connector-service.class-loading-policy=derived
cluster.connector-service.shutdown-timeout-in-seconds=30
Command get executed successfully.

I suppose that domain.xml in glassfish/appserver/admin/template/src/main/resources/config is the template domain.xml. To fix this domain.xml file would fix glassfish default domain.xml.

diff --git "a/C:\\Users\\uno\\AppData\\Local\\Temp\\dom24FF.tmp\\domain-HEAD-left.xml" "b/D:\\repo\\external\\glassfish\\appserver\\admin\\template\\src\\main\\resources\\config\\domain.xml"
index 4669a51..5cd86b7 100644
--- "a/C:\\Users\\uno\\AppData\\Local\\Temp\\dom24FF.tmp\\domain-HEAD-left.xml"
+++ "b/D:\\repo\\external\\glassfish\\appserver\\admin\\template\\src\\main\\resources\\config\\domain.xml"
@@ -288,6 +288,8 @@
              <!-- JSR 160  "system-jmx-connector" -->
              <property value="${com.sun.aas.installRoot}/lib/install/applications/admingui.war" name="adminConsoleDownloadLocation" />
          </admin-service>
+         <connector-service shutdown-timeout-in-seconds="30">
+         </connector-service>
          <web-container>
              <session-config>
                  <session-manager>
glassfishrobot commented 6 years ago