1 2 Previous Next 15 Replies Latest reply on Feb 22, 2008 2:36 PM by nateroe

    Replacing Hypersonic

    nateroe

      I need to configure JBossESB to use our actual database rather than Hypersonic. From what I can tell, this is configured in juddi-ds.xml.

      Is juddi-ds.xml the only file creating dependency on hypersonic? What tables are required? What else should I be aware of?

        • 1. Re: Replacing Hypersonic
          kurtstam

          Yeah you need to switch over jUDDI, jBPM, JBossMessaging (if that is what you use), and the MessageStore. I think someone made a step-by-step doc, but I'm not sure where that went. Do you have access to the SOA-P documentation? For jUDDI I wrote down this: http://kurtstam.blogspot.com/2008/01/switch-juddi-on-jbossesb-to-postgres.html

          --Kurt

          • 2. Re: Replacing Hypersonic
            nateroe

            Excellent. I'll try to get jUDDI reconfigured using your cookbook.

            I'm using JBossMQ rather than JBossMessaging.

            What do you mean by "the SOA-P documentation"?

            • 3. Re: Replacing Hypersonic
              kurtstam

               


              I'm using JBossMQ rather than JBossMessaging.


              OK, check the JBossAS docs, but I think the datasource for that is found in the
              deploy/jms directory, in a file called jms-ds.xml.


              What do you mean by "the SOA-P documentation"?


              The version of JBossESB you can buy support for is called SOA-P (SOA Platform). The SOA-P comes with docs.

              BTW Switching over the messageStore (in jbossesb.sar) and jBPM (in the jbpm.esb) is very similar to how things work with jUDDI.

              --Kurt

              • 4. Re: Replacing Hypersonic
                nateroe

                 

                The version of JBossESB you can buy support for is called SOA-P (SOA Platform). The SOA-P comes with docs.


                I looked into this and although we have support for some JBoss products, we don't have support for this one. So I'm afraid I don't have the SOA-P docs. (Of course, I have the docs from here: http://labs.jboss.com/jbossesb/docs/index.html )

                • 5. Re: Replacing Hypersonic
                  nateroe

                  I think I've got everything reconfigured to use an external database. Unfortunately, that database is MSSQL. I had to write the create script for message store, but that was simple.

                  I just discovered that jUDDI must be recompiled to support MSSQL (http://io.typepad.com/eben_hewitt_on_java/2007/07/using-microsoft.html)

                  How hard will it be to replace jUDDI with a custom-built version?

                  • 6. Re: Replacing Hypersonic
                    kurtstam

                    I had hoped you could simply use the sybase scripts.

                    If you really need to recompile jUDDI you can download the src jar from

                    http://ws.apache.org/juddi/releases.html

                    or

                    http://svn.apache.org/repos/asf/webservices/juddi/tags/v2.0rc5/


                    I should contain the pom.xml, so

                    mvn test

                    should get you the jar, which you can drop in jbossesb.sar/lib.

                    That should be all. Let me know how that goes.

                    --Kurt

                    • 7. Re: Replacing Hypersonic
                      nateroe

                      I haven't tried the Sybase scripts. What's ${prefix}?

                      Is there an easy way to remove jUDDIs dependence on a database at all? (and the same for JBPM and message store)? We have JBossMQ running without a database already.

                      If I can remove database dependencies from these systems, it would be much easier to create local JBossESB instances for those developers who need their own copy.

                      • 8. Re: Replacing Hypersonic
                        kurtstam

                         


                        I haven't tried the Sybase scripts. What's ${prefix}?


                        MSSQL was bought by MS from Sybase, but that's a while back.If you want to run of one schema, and you start to have table name conflicts you can set the prefix all tables with something like 'JUDDI_'



                        Is there an easy way to remove jUDDIs dependence on a database at all? (and the same for JBPM and message store)? We have JBossMQ running without a database already.


                        You could implement your own MessageStore (we actually have a JCR based one too), but jBPM and jUDDI really need a relational DB.

                        If I can remove database dependencies from these systems, it would be much easier to create local JBossESB instances for those developers who need their own copy.

                        This is why we use the embedded HSQLDB.

                        • 9. Re: Replacing Hypersonic
                          nateroe

                           


                          MSSQL was bought by MS from Sybase, but that's a while back.If you want to run of one schema, and you start to have table name conflicts you can set the prefix all tables with something like 'JUDDI_'

                          Oh, right. Right now I can use a schema just for jUDDI, so I used the Sybase scripts without a prefix.

                          jUDDI (I think) now throws a different exception on startup:
                          18:43:49,651 INFO [org.apache.juddi.util.jdbc.ConnectionManager] Using JNDI to aquire a JDBC DataSource with name: java:/juddiDB
                          18:43:49,666 INFO [org.apache.juddi.util.Loader] Using the Context ClassLoader
                          18:43:49,713 WARN [org.jboss.soa.esb.listeners.lifecycle.AbstractManagedLifecycle] Unexpected exception caught while initialisation
                          java.lang.NullPointerException
                           at org.apache.ws.scout.registry.infomodel.ClassificationImpl.setClassificationScheme(ClassificationImpl.java:103)
                           at org.apache.ws.scout.registry.LifeCycleManagerImpl.createClassification(LifeCycleManagerImpl.java:198)
                           at org.apache.ws.scout.registry.LifeCycleManagerImpl.createClassification(LifeCycleManagerImpl.java:210)
                           at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.findService(JAXRRegistryImpl.java:490)
                           at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.registerEPR(JAXRRegistryImpl.java:204)
                           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                           at java.lang.reflect.Method.invoke(Method.java:597)
                           at org.jboss.internal.soa.esb.services.registry.RegistryService$1.invoke(RegistryService.java:61)
                           at $Proxy29.registerEPR(Unknown Source)
                           at org.jboss.soa.esb.listeners.RegistryUtil.register(RegistryUtil.java:139)
                           at org.jboss.soa.esb.listeners.message.MessageAwareListener.doInitialise(MessageAwareListener.java:213)
                           at org.jboss.soa.esb.listeners.lifecycle.AbstractManagedLifecycle.initialise(AbstractManagedLifecycle.java:133)
                           at org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleController.initialiseInstances(ManagedLifecycleController.java:150)
                           at org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleController.start(ManagedLifecycleController.java:69)
                           at org.jboss.soa.esb.listeners.config.JBoss4ESBDeployment.startService(JBoss4ESBDeployment.java:83)
                           at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
                           at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
                           at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                           at java.lang.reflect.Method.invoke(Method.java:597)
                           at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                           at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                           at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                           at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
                           at $Proxy0.start(Unknown Source)
                           at org.jboss.system.ServiceController.start(ServiceController.java:417)
                           at org.jboss.system.ServiceController.start(ServiceController.java:435)
                           at org.jboss.system.ServiceController.start(ServiceController.java:435)
                           at org.jboss.system.ServiceController.start(ServiceController.java:435)
                           at org.jboss.system.ServiceController.start(ServiceController.java:435)
                           at org.jboss.system.ServiceController.start(ServiceController.java:435)
                           at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                           at java.lang.reflect.Method.invoke(Method.java:597)
                           at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                           at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                           at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                           at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
                           at $Proxy4.start(Unknown Source)
                           at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
                           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                           at java.lang.reflect.Method.invoke(Method.java:597)
                           at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                           at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                           at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                           at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                           at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                           at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
                           at $Proxy47.start(Unknown Source)
                           at org.jboss.deployment.XSLSubDeployer.start(XSLSubDeployer.java:197)
                           at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
                           at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015)
                           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
                           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
                           at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                           at java.lang.reflect.Method.invoke(Method.java:597)
                           at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                           at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                           at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                           at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                           at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                           at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
                           at $Proxy9.deploy(Unknown Source)
                           at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
                           at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
                           at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
                           at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336)
                           at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
                           at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
                           at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                           at java.lang.reflect.Method.invoke(Method.java:597)
                           at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                           at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                           at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                           at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
                           at $Proxy0.start(Unknown Source)
                           at org.jboss.system.ServiceController.start(ServiceController.java:417)
                           at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                           at java.lang.reflect.Method.invoke(Method.java:597)
                           at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                           at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                           at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                           at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
                           at $Proxy4.start(Unknown Source)
                           at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
                           at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
                           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
                           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
                           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766)
                           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                           at java.lang.reflect.Method.invoke(Method.java:597)
                           at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                           at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                           at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                           at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                           at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                           at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
                           at $Proxy5.deploy(Unknown Source)
                           at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
                           at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
                           at org.jboss.Main.boot(Main.java:200)
                           at org.jboss.Main$1.run(Main.java:490)
                           at java.lang.Thread.run(Thread.java:619)
                          


                          I can see why Hypersonic might be a good solution for development, then, given the DB requirements of these various components.

                          • 10. Re: Replacing Hypersonic
                            nateroe

                            This exception is superficially similar to https://issues.apache.org/jira/browse/JUDDI-117.

                            Despite differences in the stack trace, I verified that my BINDING_TEMPLATE.ACCESS_POINT_URL has a datatype longer than 255 characters.

                            I'm still not sure exactly why my exception is occurring. I looked at the Scout code that's actually throwing, but I don't understand the context from which it's called. It seems like org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.findService(...) is calling org.apache.ws.scout.registry.LifeCycleManagerImpl.createClassification(...) with a null ClassificationScheme.

                            • 11. Re: Replacing Hypersonic
                              kurtstam

                              yep, that's it. The sybase script is missing the classification insert statement. Just grab it from the HSQLDB one. Can you file bug once you get it to work?

                              • 12. Re: Replacing Hypersonic
                                kurtstam

                                Try running the import.sql:



                                INSERT INTO ${prefix}PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN,MAX_SERVICES_PER_BUSINESS,MAX_BINDINGS_PER_SERVICE,MAX_BUSINESSES,MAX_TMODELS)
                                VALUES ('jbossesb','JBoss ESB User','uddi-admin@example.com','true','true',25,20,10,100);
                                
                                INSERT INTO ${prefix}TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
                                VALUES ('uuid:C7536010-F786-11DB-A010-E6245C4E79A1','JBoss ESB User','jbossesb','jUDDI.org','org.jboss.soa.esb.:category',NULL,NULL);
                                
                                


                                Cheers,

                                --Kurt

                                • 13. Re: Replacing Hypersonic
                                  nateroe

                                  I dropped my jUDDI database and rebuilt it; I suspected improper initialization. I also ran the import.sql that you posted above. This seems to have fixed my missing classification problem. jUDDI is not throwing on start any more.

                                  It now seems that JMS is trying to use JNDI on port 1099, but I have reconfigured JNDI to serve on port 21099. Is this configured in deploy/jms/hajndi-jms-ds.xml ? I don't see any "1099" in that file. Where can I reconfigure this?

                                  • 14. Re: Replacing Hypersonic
                                    kurtstam



                                    I dropped my jUDDI database and rebuilt it; I suspected improper initialization. I also ran the import.sql that you posted above. This seems to have fixed my missing classification problem. jUDDI is not throwing on start any more.

                                    Great so MSSQL works then?


                                    It now seems that JMS is trying to use JNDI on port 1099, but I have reconfigured JNDI to serve on port 21099. Is this configured in deploy/jms/hajndi-jms-ds.xml ? I don't see any "1099" in that file. Where can I reconfigure this?


                                    Can you please start a new thread for this?

                                    Cheers,

                                    --Kurt



                                    1 2 Previous Next