Mule
  1. Mule
  2. MULE-917

Improve support for / integration with Geronimo App Server

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix or Usage Issue
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Modules: (other)
    • Labels:
      None
    • Similar Issues:
      MULE-1617integrate mule into geronimo
      MULE-1022Improvements to functional / integration tests
      MULE-210geronimo-spec-j2ee.jar produces conflict on Tomcat 5.x
      MULE-6020Improve support for Spring bean definition profiles
      MULE-914Improve support for JMS 1.0.2
      MULE-134Improve Jmx support
      MULE-773The Jms API jar should not be shipped with the Mule RA
      MULE-3313Improve scripting example app.
      MULE-1458Improve RMI support on multi-NIC servers
      MULE-4544Ensure JCA distribution works with current version of Geronimo

      Description

      Brainstorming from Ross and Aaron Mulder:

      > - Mule uses Geronimo JTA/XA transaction manager
      [Ross Mason] We've Done this with other AppServers and have support of
      WebLogic, Websfear, Jboss and can easily added the same for Geronimo

      > - Mule uses Geronimo security realms for authentication / to create a
      > Subject for authentication (via JAAS, etc.)
      [Ross Mason] This will need investigation, but Mule can delegate
      authentication to different providers

      > - Mule uses Geronimo factory to create SSL factories so all the
      > Keystores, etc. are handled by Geronimo and don't need to be
      > configured in multiple places
      [Ross Mason] I like this feature, but we don't currently support it. We'd
      need to adapt the socket transports to do this but it should be
      straight-forward.

      > - Mule runs in Geronimo and Mule services can be
      > hot-deployed/undeployed/redeployed using the Geronimo deployer
      > (command-line, web console, Maven plugin, etc.)
      [Ross Mason] Does this mean we'd need write a Mule Xbean plug-in?

      > - Mule uses Geronimo HTTP server for any HTTP/HTTPS endpoints (easy
      > if you just want to control the URL beyond something like
      > http://server:port/context/* but hard if you want to specify the port
      > and/or context root)
      [Ross Mason] Mule can bind to any Servlet container to receive requests
      rather than using Mule's Http transport.

      > - Mule uses Geronimo thread pool(s)
      [Ross Mason] Easily done. You can just add a Geronimo Thread Pool factory
      that exposes Geronimo managed pools. I guess the question is how does Mule
      look up Geronimo Thread pools?. This sounds like a similar/same mechanism
      that Resource Adapters use to share App Server resources. Are we talking
      about JCA? Mule has a JCA resource adapter.

      > - Expose EJBs deployed in Geronimo as Mule endpoints
      [Ross Mason] This is already possible using the EJBContainerContext in Mule.

      > - Expose a client API in JNDI for J2EE components so they can send
      > messages to the Mule bus
      [Ross Mason] Are you talking about JCA here?

      > - Figure out a way for Geronimo to pass a Subject created by a secure
      > web app to Mule to invoke secure services in Mule
      [Ross Mason] Would need to investigate this

      > - Expose Mule management, notifications, and statistics through the
      > Geronimo JMX/JSR-77 management interfaces
      [Ross Mason] We already expose this through JMX, I guess might just need a
      clean way to integrate this with Geronimo

      > - Add Mule screens to the Geronimo web admin console
      >
      > The basic idea is that you should be able to start/stop, manage,
      > monitor, deploy to, etc. the combined system as if it was one. And
      > that applications should be able to use the features of both – e.g. a
      > J2EE web application sending messages to the Mule bus, or a Mule
      > service dispatching messages to be handled by a J2EE session bean
      > (even when using things like security and transactions on both sides).

      > The basic procedure for creating a plugin is to get the services running in
      > Geronimo as we want, and then use an admin console tool to export the
      > Mule services as one or more plugins. Though if you use Maven to
      > build Mule it's possible to eventually build plugins directly as part
      > of the Mule build.
      [Ross Mason] Many of the points we can already do or just require some
      minimal coding. I think one place to start is with a plug-in that allows
      Mule to be deployed to Geronimo and weave our Jmx support in as well.

        Issue Links

          Activity

          Hide
          Travis Carlson added a comment -

          Here's the original thread from the mailing list: http://www.nabble.com/RE%3A-Mule---Geronimo-plug-in-tf1911079.html#a5231849

          Also, you may be interested in reading a similar brainstorming session from Aaron about how to integrate ServiceMix with Geronimo:
          http://www.nabble.com/ServiceMix-Geronimo-Plugin-tf1885621.html#a5155060

          Show
          Travis Carlson added a comment - Here's the original thread from the mailing list: http://www.nabble.com/RE%3A-Mule---Geronimo-plug-in-tf1911079.html#a5231849 Also, you may be interested in reading a similar brainstorming session from Aaron about how to integrate ServiceMix with Geronimo: http://www.nabble.com/ServiceMix-Geronimo-Plugin-tf1885621.html#a5155060
          Hide
          Ross Mason added a comment -

          I'm closing this since we just don't see any demand for Geronimo

          Show
          Ross Mason added a comment - I'm closing this since we just don't see any demand for Geronimo
          Hide
          Dirk Olmes added a comment -

          Accessing keystores from Geronimo is as simple as getting the value of the system property org.apache.geronimo.home.dir. The keystores configured through the admin console reside in var/security/keystores.

          Show
          Dirk Olmes added a comment - Accessing keystores from Geronimo is as simple as getting the value of the system property org.apache.geronimo.home.dir . The keystores configured through the admin console reside in var/security/keystores.

            People

            • Assignee:
              Ross Mason
              Reporter:
              Travis Carlson
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development