4 Replies Latest reply on Dec 29, 2005 1:33 PM by ovidiu.feodorov

    Building a standalone JBoss Messaging server

    guss

      Hello everyone.

      I'm trying to build a standalone JBoss Messaging server that can be deployed using RPMs. I'm building it in a modular way - I checked out jboss-head from CVS and I'm building each module there separately to an RPM that can be deployed in a Linux OS that uses jpackage conventions. My final goal would be to get a set of RPMs that can be used to deploy a JBoss Messaging server w/o the need to additional non-site specific configuration.

      As I'm using RPM as the build system, I'm striving to achieve the following points:
      - reproducability: that is, from a single source package, the results of building the package would always be the same, regardless of additional conditions.
      - Cleanliness: no build consumables exist outside the explicitly specified build requirements and no build produceables exist outside the build tree.
      - Integration with current know-how and deployed systems: use the jpackage conventions whenever they exist. Make all non-site specific configuration available out of the box, and have reasonable defaults for site-specific configuration. The system should work "out of the box" with no additional tweaking.

      To that point some of the assumptions inherent in the current jboss-head build system had to be discarded:
      - third party libraries are available as jpackage installed RPMs - they cannot be downloaded.
      - all source code and build configuration needed for building an RPM is contained in a single source package.

      I'm aiming for a modular build, so I can't just package the whole jboss-head as a source package. Instead I build each module as a separate source package and I need to bundle part of the 'build' module with it.
      ---

      Currently I already have a lot of it done - I have source RPMs with correct build dependencies that can be built into binary RPMs in the presence of a jpackage system (1.6 mostly), but I'm lacking a whole lot of configuration and integration know-how for JBoss: this is actually my first time with JBoss and I have no clue as to the conventions used in the JBoss server. As a result - even though I can build all the modules, I didn't manage to run the server properly - it boots, but then I get a lot of errors in the logs and it doesn't respond to queries.

      As I said above - my build environment and deployment environment are (radically) different then what I understand is standard CVS build and deployment of JBoss 5 alpha, but I hope there is enough interest in the JBoss community to support this undertaking. All RPMs that I currently have are available under http://www.geek.co.il/RPMS/jboss-5/ and I'd appreciate any feedback on them.

      If you are still interested in helping, I'd appreciate if you can tell me why this happens: after I run the server using run.sh, I get the following error:

      12:08:28,235 ERROR [Server] Root deployment has missing dependencies; continuing
      Incomplete Deployment listing:

      --- MBeans waiting for other MBeans ---
      ObjectName: jboss:service=invoker,type=jrmp
      State: FAILED
      Reason: java.lang.RuntimeException: javax.naming.NameNotFoundException: TransactionPropagationContextImporter not bound

      ObjectName: jboss:service=invoker,type=pooled
      State: FAILED
      Reason: java.lang.RuntimeException: javax.naming.NameNotFoundException: TransactionPropagationContextExporter not bound

      ObjectName: jboss:service=invoker,type=local
      State: FAILED
      Reason: javax.naming.NameNotFoundException: TransactionManager not bound

      --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
      ObjectName: jboss:service=invoker,type=local
      State: FAILED
      Reason: javax.naming.NameNotFoundException: TransactionManager not bound

      ObjectName: jboss:service=invoker,type=pooled
      State: FAILED
      Reason: java.lang.RuntimeException: javax.naming.NameNotFoundException: TransactionPropagationContextExporter not bound

      ObjectName: jboss:service=invoker,type=jrmp
      State: FAILED
      Reason: java.lang.RuntimeException: javax.naming.NameNotFoundException: TransactionPropagationContextImporter not bound

      In jboss-service.xml, I have

      and all the jars produced from the 'jboss-head/transaction' module are installed in /usr/share/java/jboss (jpackage convention).

      TIA