12 Replies Latest reply on Dec 9, 2013 11:04 AM by weberj

    how to replace the default ORB implementation (jacorb)?

    dimonv

      Hi all,

       

      can anybody write me how to replace the default ORB implementation in JBoss AS 7?

       

      Thanks

        • 1. Re: how to replace the default ORB implementation (jacorb)?
          ctomc

          Hi,

           

          what exacly are you trying to do?

          ORB implementaion in jboss 7.1 is done via extension, so if you whant to include your own orb impl inside your app all you should be able to is to comment out jacrob extension inside standalone.xml (or whaterver config you are running)

           

          Can you provide bit more info what are you trying to do?

           

          --

          tomaz

          • 2. Re: how to replace the default ORB implementation (jacorb)?
            dimonv

            Hi,

             

            I have a resource adapter which provides an ORB implementation in RAR file. But if it instantiates the ORB the jacorb is taken instead.

            There is no jacorb extension in standard.xml.

            I tried also to use standard CORBA system properties defining ORB classes:

            org.omg.CORBA.ORBClass

            org.omg.CORBA.ORBSingletonClass

             

            but without success.

            Then I looked at modules org.omg.api, org.jacorb, org.jboss.as.jacorb, javax.rmi.api and found out that it's not that easy to just delete org.jacorb modules, because several others key modules depends on it, e.g. org.omg.api. Furthermore the module dependencies are quite complicated: system module, "exports" with "includes"

            That means that I have to replace org.jacorb and dependecies on it in several modules and ensure that all modules can "see" all necessary org.omg classes. But I'm not sure that it is a right way.

            • 3. Re: how to replace the default ORB implementation (jacorb)?
              ctomc

              Hi,

               

              did you try to exclude those modules in defining jboss-deployment-structure.xml

              more about how to do that you can read here:

              https://docs.jboss.org/author/display/AS71/Class+Loading+in+AS7

               

               

              --

              tomaz

              • 4. Re: how to replace the default ORB implementation (jacorb)?
                dimonv

                Hi,

                 

                thank for reply!

                 

                Yes, I tried to use jboss-deployment-structure.xml: no success.

                               

                <jboss-deployment-structure>

                    <deployment>

                        <exclusions>

                            <module name="org.jacorb" />

                        </exclusions>

                    </deployment>

                </jboss-deployment-structure>

                                              

                 

                jacorb still in the CP.

                 

                Regards

                • 5. Re: how to replace the default ORB implementation (jacorb)?
                  ctomc

                  Hi,

                   

                  what kind of archive are you deploying? war or ear? if it is ear jboss-deployment-strucutre.xml mentioned won't work...

                   

                  also you can disable jacorb subsystem in standalone.xml by removing all references to it (in <extensions> and <subsystem>)

                   

                  --

                  tomaz

                  • 6. Re: how to replace the default ORB implementation (jacorb)?
                    dimonv

                    Hi Tomaz,

                     

                    it's a RAR that I'm deploying.

                     

                    jacorb is nor referenced directly from standalone.xml, but maybe indirectly. But don't see all dependencies to that.

                     

                    Regards

                    • 7. Re: how to replace the default ORB implementation (jacorb)?
                      maxw

                      Hi

                       

                      I have the same problem in a slightly different flavour. I am trying to integrate to our exsisting Weblogic 9.22 J2EE platform. This requires a ORB client implementation under the hood. I have made a module specifying basic omg interface. Starting up my web application; JBoss 7 AS reports could not instatiate org.jacorb.orb.ORB. I could go down that road and add module dependencies to jacorb, but that I will not, and have tried without success. I prefer using the default implemenation shipped in the JDK; com.sun.corba.seimpl.corba packages. I seems that JBoss AS 7 is some how configured, using some corba configuration file to point to the jacorb as CORBA implementation. I could actually be the module org.omg.api that refrences jacorb, this I have not investigated that yet.

                       

                      Investigation of intefaces and ORB:

                       

                      The module org.omg.api actually gets its classes from org.jacorb, and apparently some factory classes which specifies the default ORB. I have tried to make a new module with the same signature as org.omg.api but from system the system class aka the rt.jar in the JDK. I now get a missing class com.sun.corba.se.impl.ORBImpl. Which indicates that I now have switched the default ORB.

                       

                      Next investigation:

                       

                      a) find out which class defines the default ORB, and how to overwrite the default ORB, proberly this is done by specifying som sort of standard configuarion file.

                      b) add module wich exposes the default JDK ORB

                       

                      Goal

                      I will/shall provide a soulution for the problem as we our in a transition from Weblogic to JBoss and will during this time have both Weblogic and Jboss instances running and communicating with each other. At the time I will post the JBoss modules which I belive will solve the problem

                       

                      The absurd thing is that my test is working perfectly running a JUnit testcase within eclipse only refferencing the JDK and my Weblogic specific file.

                       

                      regards

                       

                      Max

                       

                      Added investigation of default ORB vs jacorb

                      • 8. Re: how to replace the default ORB implementation (jacorb)?
                        paulmkeogh

                        I too have the same problem. I am trying to replace WL 9 with JBoss AS in our environment and the 1st step is to deploy a JBoss app. that talks to our WL app. via JMX. Like the previous poster, my JDK unit tests are all working fine but I cannot get around the problem of configuring away the jacorb Orb and replacing it with the JDK one.

                         

                        Any help greatly appreciated !

                        • 9. Re: how to replace the default ORB implementation (jacorb)?
                          piwaf

                          Did you get anywhere with this Max.  I'm in the same situation and have yet to have a jboss EJB call into a Weblogic EJB.  It's madening to say the least.

                          • 10. Re: how to replace the default ORB implementation (jacorb)?
                            marklittle

                            Try asking in the Narayana forums since they've done this by replacing JacORB with JDK ORB.

                            • 11. Re: how to replace the default ORB implementation (jacorb)?
                              marklittle
                              • 12. Re: how to replace the default ORB implementation (jacorb)?
                                weberj

                                I am pulling in all com/sun/corba and all org/omg in jboss-deployment-structure.xml, this makes the Sun ORB work in a Servlet, but not in an EJB.