-
1. Re: Replacing Hypersonic
kurtstam Feb 20, 2008 4:48 PM (in response to nateroe)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 Feb 20, 2008 7:16 PM (in response to 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 Feb 20, 2008 7:25 PM (in response to nateroe)
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 Feb 20, 2008 7:57 PM (in response to 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 Feb 20, 2008 9:11 PM (in response to 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 Feb 20, 2008 9:33 PM (in response to nateroe)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 Feb 20, 2008 9:42 PM (in response to 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 Feb 20, 2008 10:18 PM (in response to nateroe)
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 Feb 21, 2008 1:21 PM (in response to 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 Feb 21, 2008 8:02 PM (in response to 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 Feb 21, 2008 8:53 PM (in response to nateroe)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 Feb 22, 2008 10:58 AM (in response to nateroe)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 Feb 22, 2008 2:05 PM (in response to 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 Feb 22, 2008 2:33 PM (in response to 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.
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