Announcement Announcement Module
Collapse
No announcement yet.
dm server 2.0.1 cluster configuration Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • dm server 2.0.1 cluster configuration

    Hi,

    I try to start the dm server with a cluster configuration. As described in the user guide of tomcat I just add <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpClu ster"/> to the tomcat-server.xml.
    If I start the dm server I got a ClassNotFound Exception for org.apache.catalina.ha.tcp.SimpleTcpCluster.

    This class is available in the jar com.springsource.org.apache.catalina.ha.springsour ce-6.0.20.S2-r5956.jar found in <dm_server_home>/repository/ext but it is not loaded.
    What should I do for make this package active an the classes available for the tomcat bundle?

    Regards
    Chris

  • #2
    The error message and stack trace may help, but the Catalina bundle does not import the package org.apache.catalina.ha.tcp, so that would appear to be why that class cannot be loaded.

    You could try editing the Catalina bundle and add that import to the import-package statement in the META-INF/MANIFEST.MF.

    (Apologies for the slow response. The forum software has stopped notifying us of new threads recently. We are trying to get that fixed.)

    Comment


    • #3
      Hi,

      thank you for your reply. I added the missing imports to the com.springsource.server.web.tomcat bundle. This fixes the startup failure. I could deploy a webapp with the "distributable" parameter in the web.xml and the application is accessable on each node, but the session replication did not work. So I startet debuging again and found an other ClassNotFound Exception in the log :
      c.s.kernel.userregion.internal.equinox.KernelBundl eClassLoader < protected java.lang.Class com.springsource.kernel.userregion.internal.equino x.KernelBundleClassLoader.loadClass(java.lang.Stri ng, boolean) com.springsource.kernel.osgi.framework.ExtendedCla ssNotFoundException: org.apache.catalina.ha.ClusterMessageBase in KernelBundleClassLoader: [bundle=com.springsource.org.apache.catalina.tribes .springsource_6.0.20.S2-r5956]
      at org.apache.catalina.tribes.io.XByteBuffer.deserial ize(XByteBuffer.java:575)
      at org.apache.catalina.tribes.io.XByteBuffer.deserial ize(XByteBuffer.java:563)
      at org.apache.catalina.tribes.group.GroupChannel.mess ageReceived(GroupChannel.java:252)
      at org.apache.catalina.tribes.group.ChannelIntercepto rBase.messageReceived(ChannelInterceptorBase.java: 79)
      at org.apache.catalina.tribes.group.ChannelIntercepto rBase.messageReceived(ChannelInterceptorBase.java: 79)
      at org.apache.catalina.tribes.group.interceptors.TcpF ailureDetector.messageReceived(TcpFailureDetector. java:110)
      at org.apache.catalina.tribes.group.ChannelIntercepto rBase.messageReceived(ChannelInterceptorBase.java: 79)
      at org.apache.catalina.tribes.group.ChannelCoordinato r.messageReceived(ChannelCoordinator.java:241)
      at org.apache.catalina.tribes.transport.ReceiverBase. messageDataReceived(ReceiverBase.java:225)
      at org.apache.catalina.tribes.transport.nio.NioReplic ationTask.drainChannel(NioReplicationTask.java:188 )
      at org.apache.catalina.tribes.transport.nio.NioReplic ationTask.run(NioReplicationTask.java:91)
      Caused by: java.lang.ClassNotFoundException: org.apache.catalina.ha.ClusterMessageBase


      (see attached stacktrace.txt for full stacktrace). My Problem is, that I could not figure out in which bundle I had to add the missing imports. Adding the import for org.apache.catalina in the bundle "com.springsource.org.apache.catalina.tribes .springsource_6.0.20.S2-r5956" did not help.

      Is it possible to update the packages of dm-server for one of the next releases, so that session replication will work "out of the box"?

      Thank you for your help!

      Regards
      Chris

      Comment


      • #4
        The ExtendedClassNotFoundException line tells you what import to add and where. You need to import the package org.apache.catalina.ha (the package of the ClusterMessageBase class) to the "tribes" bundle.

        If you would like to see tested support for clustering in a future release of Virgo, please raise a Virgo bugzilla. We will not be extending the function of dm Server in the 2.0.x service stream. In fact we will minimise the number of 2.0.x releases we ship and encourage users to migrate to Virgo 2.1.0.M1 or later.

        Comment


        • #5
          Hi,

          thank you for your quick response. The import in the tribes bundle worked. In my last post I wrote it did not work, but this was my fault, I forgot to add the updated jar in the server . The Exception is gone, but the replication still did not work

          In future I will post my questions in the virgo forum.
          Thank you for your help.

          Regards
          Chris

          Comment


          • #6
            The approach I would take to the session replication problem is to debug through the Tomcat code. Please post again if you find specific problems that we can help you with.

            Comment


            • #7
              Done !
              This time it was an network issue between my virtual machines. On two real machines everything is fine. Session Replication works.

              Could I send a bug report (feature request? enhancement?) to the virgo project although I discovered this issue at spring-dm-server?

              This is the first time I participate in such a process, so excuse me for asking beginner questions here.

              Regards
              Chris

              Comment


              • #8
                Congratulations and well done! I'm very intrigued to see the full set of changes you needed to make.

                Beginners are most welcome. We were all beginners once. ;-)

                Yes, please raise a Virgo bug to describe this enhancement. If you made any code changes to dm Server, please grab the corresponding code from the Eclipse Virgo project so you can donate any patches under the Eclipse Public license as dm Server is licensed under the GPL, which is no good for Eclipse.org. However, manifest changes to Tomcat bundles are fine to include in the Virgo bug since Tomcat is licensed under the Apache software license.

                Comment

                Working...
                X