juddi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kurt T Stam <kurt.s...@gmail.com>
Subject Re: Switching to MySQL
Date Wed, 05 Aug 2009 16:02:55 GMT
I opened up your Mysql5 log file and see:

2009-08-05 17:08:06,255 INFO 
[org.hibernate.connection.DatasourceConnectionProvider] - Using 
datasource: java:comp/env/jdbc/JuddiDS
2009-08-05 17:08:09,687 INFO [org.hibernate.cfg.SettingsFactory] - 
RDBMS: Apache Derby, version: 10.1.2.1
2009-08-05 17:08:09,687 INFO [org.hibernate.cfg.SettingsFactory] - JDBC 
driver: Apache Derby Embedded JDBC Driver, version: 10.1.2.1
2009-08-05 17:08:09,703 INFO [org.hibernate.dialect.Dialect] - Using 
dialect: org.hibernate.dialect.MySQL5Dialect

Let me check what the logging says for me.

--K


Jeremi Thebeau wrote:
> It looks like the tables just aren't getting created, often because 
> 'auto_increment' seems to be causing a syntax error.
>
> Here are some excerpts from the juddi.log:
>
> start up while using derby, out-of-the-box;
> http://xlt.xceptance.de/download/results/juddi/juddi.log_excerpts/startupUsing_org.hibernate.dialect.DerbyDialect_juddi.log
>
> start up while using mysql;
> http://xlt.xceptance.de/download/results/juddi/juddi.log_excerpts/startupUsing_org.hibernate.dialect.MySQLDialect_juddi.log
>
> and I also tried using the org.hibernate.dialect.MySQL*5*Dialect;
> http://xlt.xceptance.de/download/results/juddi/juddi.log_excerpts/startupUsing_org.hibernate.dialect.MySQL5Dialect_juddi.log
>
> Is it possible that there is a hibernate/mysql version 
> incompatibility? I'm using MySQL Ver 14.12 Distrib 5.0.75, for 
> debian-linux-gnu.
>
> Any ideas?
>
> Thanks
>
> Jeremi
>
>
> Kurt T Stam wrote:
>> No there only needs to be an empty database, and a user with table 
>> create rights. You might be able to learn more by looking in the 
>> juddi.log on tomcat.
>>
>> Jeremi Thebeau wrote:
>>> Hi Kurt,
>>>
>>> yes I followed the instructions for switching to mysql in chapter 3 
>>> except that the URL used to describe the jdbc/JuddiDS resource in 
>>> context.xml:
>>>
>>> url="jdbc:mysql://localhost:3306/JUDDI
>>>
>>> since my DB is called "JUDDI" and not "juddiv3".
>>>
>>> I can log into  mysql with the juddi user and create tables. When I 
>>> startup juddi the JUDDI DB is empty and after start up I still get:
>>>
>>> mysql> show tables;
>>> Empty set (0.00 sec)
>>>
>>> Does there need to be a table in there before startup?
>>>
>>> Jeremi
>>>
>>> Kurt T Stam wrote:
>>>> Hi Jeremi,
>>>>
>>>> I think you followed the exact instructions mention in Chapter 3?
>>>>
>>>> http://svn.apache.org/viewvc/webservices/juddi/branches/v3_trunk/docs/jUDDI-UserGuide.pdf?view=co

>>>>
>>>>
>>>> Does the mysql user have table create permissions and did the mysql 
>>>> tables get created?<property name="hibernate.hbm2ddl.auto" 
>>>> value="update"/>
>>>> should take autocreate it, which you have.
>>>>
>>>> --Kurt
>>>>
>>>>
>>>> Jeremi Thebeau wrote:
>>>>> Hi,
>>>>>
>>>>> I'm running the following SNAPSHOT release of juddi:
>>>>>
>>>>> http://people.apache.org/repo/m2-snapshot-repository/org/apache/juddi/juddi-portal-bundle/3.0.0.SNAPSHOT/juddi-portal-bundle-3.0.0.20090723.201427-7.zip*

>>>>>
>>>>>
>>>>> *on the following system:
>>>>>
>>>>> Processor: Intel(R) Core(TM)2 CPU     6400  @ 2.13GHz
>>>>> RAM: 2011 MB
>>>>> OS: Ubuntu 9.04, linux kernel 2.6.28-13-generic
>>>>>
>>>>> Also installed is MySQL Ver 14.12 Distrib 5.0.75, for 
>>>>> debian-linux-gnu which has an empty DB called JUDDI for which user 
>>>>> juddi@localhost has permissions.
>>>>>
>>>>> As per the v3 User's Guide I modified the 
>>>>> tomcat/webapps/juddi/META-INF/context.xml and 
>>>>> tomcat/webapps/juddi/WEB-INF/classes/META-INF/persistence.xml 
>>>>> files so they now look like this:
>>>>>
>>>>> context.xml
>>>>>
>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>
>>>>> <Context>
>>>>>     <WatchedResource>WEB-INF/web.xml</WatchedResource>
>>>>>     <!--  derby out-of-the-box
>>>>>     <Resource name="jdbc/JuddiDS" auth="Container"
>>>>>             type="javax.sql.DataSource" username="" password=""
>>>>>             driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
>>>>>             url="jdbc:derby:juddi-derby-test-db;create=true"
>>>>>             maxActive="8"
>>>>>             />
>>>>>     -->
>>>>>        <!-- mysql -->
>>>>>     <Resource name="jdbc/JuddiDS" auth="Container"
>>>>>             type="javax.sql.DataSource" username="juddi" 
>>>>> password="MyPassword"
>>>>>             driverClassName="com.mysql.jdbc.Driver"
>>>>>             url="jdbc:mysql://localhost:3306/JUDDI"
>>>>>             maxActive="8"
>>>>>             />
>>>>>            </Context>
>>>>>
>>>>>
>>>>> persistence.xml
>>>>>
>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>> <persistence xmlns="http://java.sun.com/xml/ns/persistence" 
>>>>>              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>>>              
>>>>> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
>>>>> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" 
>>>>>              version="1.0">
>>>>>   <persistence-unit name="juddiDatabase" 
>>>>> transaction-type="RESOURCE_LOCAL">
>>>>>     <provider>org.hibernate.ejb.HibernatePersistence</provider>
>>>>>     <jta-data-source>java:comp/env/jdbc/JuddiDS</jta-data-source>
>>>>>         <!-- entity classes -->
>>>>>     <class>org.apache.juddi.model.Address</class>
>>>>>     <class>org.apache.juddi.model.AddressLine</class>
>>>>>     <class>org.apache.juddi.model.AuthToken</class>
>>>>>     <class>org.apache.juddi.model.BindingCategoryBag</class>
>>>>>     <class>org.apache.juddi.model.BindingDescr</class>
>>>>>     <class>org.apache.juddi.model.BindingTemplate</class>
>>>>>     <class>org.apache.juddi.model.BusinessCategoryBag</class>
>>>>>     <class>org.apache.juddi.model.BusinessDescr</class>
>>>>>     <class>org.apache.juddi.model.BusinessEntity</class>
>>>>>     <class>org.apache.juddi.model.BusinessIdentifier</class>
>>>>>     <class>org.apache.juddi.model.BusinessName</class>
>>>>>     <class>org.apache.juddi.model.BusinessService</class>
>>>>>     <class>org.apache.juddi.model.CategoryBag</class>
>>>>>     <class>org.apache.juddi.model.Contact</class>
>>>>>     <class>org.apache.juddi.model.ContactDescr</class>
>>>>>     <class>org.apache.juddi.model.DiscoveryUrl</class>
>>>>>     <class>org.apache.juddi.model.Email</class>
>>>>>     <class>org.apache.juddi.model.InstanceDetailsDescr</class>
>>>>>     <class>org.apache.juddi.model.InstanceDetailsDocDescr</class>
>>>>>     <class>org.apache.juddi.model.KeyedReference</class>
>>>>>     <class>org.apache.juddi.model.KeyedReferenceGroup</class>
>>>>>     <class>org.apache.juddi.model.OverviewDoc</class>
>>>>>     <class>org.apache.juddi.model.OverviewDocDescr</class>
>>>>>     <class>org.apache.juddi.model.PersonName</class>
>>>>>     <class>org.apache.juddi.model.Phone</class>
>>>>>     <class>org.apache.juddi.model.Publisher</class>
>>>>>     <class>org.apache.juddi.model.PublisherAssertion</class>
>>>>>     <class>org.apache.juddi.model.PublisherAssertionId</class>
>>>>>     <class>org.apache.juddi.model.ServiceCategoryBag</class>
>>>>>     <class>org.apache.juddi.model.ServiceDescr</class>
>>>>>     <class>org.apache.juddi.model.ServiceName</class>
>>>>>     <class>org.apache.juddi.model.ServiceProjection</class>
>>>>>     <class>org.apache.juddi.model.Subscription</class>
>>>>>     <class>org.apache.juddi.model.SubscriptionChunkToken</class>
>>>>>     <class>org.apache.juddi.model.SubscriptionMatch</class>
>>>>>     <class>org.apache.juddi.model.Tmodel</class>
>>>>>     <class>org.apache.juddi.model.TmodelCategoryBag</class>
>>>>>     <class>org.apache.juddi.model.TmodelDescr</class>
>>>>>     <class>org.apache.juddi.model.TmodelIdentifier</class>
>>>>>     <class>org.apache.juddi.model.TmodelInstanceInfo</class>
>>>>>     <class>org.apache.juddi.model.TmodelInstanceInfoDescr</class>
>>>>>     <class>org.apache.juddi.model.TransferToken</class>
>>>>>     <class>org.apache.juddi.model.TransferTokenKey</class>
>>>>>     <class>org.apache.juddi.model.UddiEntity</class>
>>>>>     <class>org.apache.juddi.model.UddiEntityPublisher</class>
>>>>>  
>>>>>     <properties>
>>>>>       <property name="hibernate.archive.autodetection" 
>>>>> value="class"/>
>>>>>       <property name="hibernate.hbm2ddl.auto" value="update"/>
>>>>>       <property name="hibernate.show_sql" value="false"/>
>>>>>
>>>>>       <property name="hibernate.dialect" 
>>>>> value="org.hibernate.dialect.MySQLDialect"/> <!-- for MySQL DB
-->
>>>>> <!--  <property name="hibernate.dialect" 
>>>>> value="org.hibernate.dialect.DerbyDialect"/>  for derby DB -->
>>>>>           </properties>
>>>>>   </persistence-unit>
>>>>> </persistence>
>>>>>
>>>>> However, when I try to get an AuthToken I get the following 
>>>>> org.hibernate.exception.SQLGrammarException.
>>>>>
>>>>> [14:38:33,045] DEBUG [main] - *Outbound Message*:
>>>>> HTTP Headers:
>>>>>
>>>>> Soap Message:
>>>>> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>>>>>     <S:Body>
>>>>>         <get_authToken cred="root" userID="root" 
>>>>> xmlns="urn:uddi-org:api_v3" 
>>>>> xmlns:ns10="urn:uddi-org:policy_v3_instanceParms" 
>>>>> xmlns:ns2="urn:uddi-org:custody_v3" 
>>>>> xmlns:ns3="urn:uddi-org:repl_v3" 
>>>>> xmlns:ns4="http://www.w3.org/2000/09/xmldsig#" 
>>>>> xmlns:ns5="urn:uddi-org:sub_v3" xmlns:ns6="urn:uddi-org:subr_v3" 
>>>>> xmlns:ns7="urn:uddi-org:vscache_v3" 
>>>>> xmlns:ns8="urn:uddi-org:policy_v3" xmlns:ns9="urn:uddi-org:vs_v3" />
>>>>>     </S:Body>
>>>>> </S:Envelope>
>>>>>
>>>>> Message Context Properties:
>>>>> - com.sun.xml.internal.ws.api.message.HeaderList = []
>>>>> - com.sun.xml.internal.ws.api.server.WSEndpoint = null
>>>>> - com.sun.xml.internal.ws.client.ContentNegotiation = none
>>>>> - com.sun.xml.internal.ws.client.handle = JAX-WS RI 2.1.6 in JDK 
>>>>> 6: Stub for http://192.168.178.200:8080/juddi/services/security
>>>>> - com.sun.xml.internal.ws.handler.config = 
>>>>> com.sun.xml.internal.ws.client.HandlerConfiguration@a16605
>>>>> - com.sun.xml.internal.ws.server.OneWayOperation = true
>>>>> - javax.xml.ws.handler.message.outbound = true
>>>>> - javax.xml.ws.reference.parameters = []
>>>>> - javax.xml.ws.service.endpoint.address = 
>>>>> http://192.168.178.200:8080/juddi/services/security
>>>>> - javax.xml.ws.soap.http.soapaction.uri = get_authToken
>>>>> - javax.xml.ws.wsdl.interface = 
>>>>> {urn:uddi-org:api_v3_portType}UDDI_Security_PortType
>>>>> - javax.xml.ws.wsdl.port = 
>>>>> {urn:uddi-org:api_v3_portType}UDDISecurityServicePort
>>>>> - javax.xml.ws.wsdl.service = 
>>>>> {urn:uddi-org:api_v3_portType}UDDISecurityService
>>>>>
>>>>> [14:38:34,254] DEBUG [main] - *Inbound Message*:
>>>>> HTTP Headers:
>>>>> - null = [HTTP/1.1 200 OK]
>>>>> - Content-type = [text/xml;charset=UTF-8]
>>>>> - Content-length = [289]
>>>>> - Server = [Apache-Coyote/1.1]
>>>>> - Date = [Wed, 05 Aug 2009 12:38:56 GMT]
>>>>>
>>>>> Soap Message:
>>>>> <soap:Envelope 
>>>>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>>>>>     <soap:Header />
>>>>>     <soap:Body>
>>>>>         <soap:Fault>
>>>>>             <faultcode>
>>>>>                 soap:Server
>>>>>             </faultcode>
>>>>>             <faultstring>
>>>>>                 *org.hibernate.exception.SQLGrammarException: 
>>>>> could not insert: [org.apache.juddi.model.Tmodel]*
>>>>>             </faultstring>
>>>>>         </soap:Fault>
>>>>>     </soap:Body>
>>>>> </soap:Envelope>
>>>>>
>>>>> Message Context Properties:
>>>>> - com.sun.xml.internal.ws.api.message.HeaderList = []
>>>>> - com.sun.xml.internal.ws.api.server.WSEndpoint = null
>>>>> - com.sun.xml.internal.ws.client.ContentNegotiation = none
>>>>> - com.sun.xml.internal.ws.client.handle = null
>>>>> - com.sun.xml.internal.ws.handler.config = 
>>>>> com.sun.xml.internal.ws.client.HandlerConfiguration@a16605
>>>>> - com.sun.xml.internal.ws.server.OneWayOperation = null
>>>>> - com.xceptance.xlt.ws.handler.requestData = 
>>>>> com.xceptance.xlt.api.engine.RequestData@c71c00
>>>>> - javax.xml.ws.handler.message.outbound = false
>>>>> - javax.xml.ws.http.response.code = 200
>>>>> - javax.xml.ws.http.response.headers = {null=[HTTP/1.1 200 OK], 
>>>>> Content-type=[text/xml;charset=UTF-8], Content-length=[289], 
>>>>> Server=[Apache-Coyote/1.1], Date=[Wed, 05 Aug 2009 12:38:56 GMT]}
>>>>> - javax.xml.ws.reference.parameters = []
>>>>> - javax.xml.ws.service.endpoint.address = 
>>>>> http://192.168.178.200:8080/juddi/services/security
>>>>> - javax.xml.ws.soap.http.soapaction.uri = null
>>>>> - javax.xml.ws.wsdl.interface = 
>>>>> {urn:uddi-org:api_v3_portType}UDDI_Security_PortType
>>>>> - javax.xml.ws.wsdl.port = 
>>>>> {urn:uddi-org:api_v3_portType}UDDISecurityServicePort
>>>>> - javax.xml.ws.wsdl.service = 
>>>>> {urn:uddi-org:api_v3_portType}UDDISecurityService
>>>>>
>>>>> [14:38:34,332] ERROR [main] - Execution step failed (user: 
>>>>> 'TRegisterBusiness-0', output: '1249475907636'):
>>>>> javax.xml.ws.soap.SOAPFaultException: 
>>>>> org.hibernate.exception.SQLGrammarException: could not insert: 
>>>>> [org.apache.juddi.model.Tmodel]
>>>>>     at 
>>>>> com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)

>>>>>
>>>>>     at 
>>>>> com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:111)

>>>>>
>>>>>     at 
>>>>> com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)

>>>>>
>>>>>     at 
>>>>> com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)

>>>>>
>>>>>     at 
>>>>> com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
>>>>>     at $Proxy42.getAuthToken(Unknown Source)
>>>>>     at 
>>>>> org.apache.juddi.xlt.action.SOAP.GetAuthenticationToken.execute(GetAuthenticationToken.java:48)

>>>>>
>>>>>     at 
>>>>> com.xceptance.xlt.api.actions.AbstractAction.run(AbstractAction.java:315)

>>>>>
>>>>>     at 
>>>>> org.apache.juddi.xlt.test.TRegisterBusiness.registerBusiness(TRegisterBusiness.java:37)

>>>>>
>>>>>     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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)

>>>>>
>>>>>     at 
>>>>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

>>>>>
>>>>>     at 
>>>>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)

>>>>>
>>>>>     at 
>>>>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)

>>>>>
>>>>>     at 
>>>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)

>>>>>
>>>>>     at 
>>>>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)

>>>>>
>>>>>     at 
>>>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)

>>>>>
>>>>>     at 
>>>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)

>>>>>
>>>>>     at 
>>>>> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
>>>>>     at 
>>>>> org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
>>>>>     at 
>>>>> org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
>>>>>     at 
>>>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)

>>>>>
>>>>>     at 
>>>>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)

>>>>>
>>>>>     at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
>>>>>     at 
>>>>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)

>>>>>
>>>>>     at 
>>>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

>>>>>
>>>>>     at 
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)

>>>>>
>>>>>     at 
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)

>>>>>
>>>>>     at 
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)

>>>>>
>>>>>     at 
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

>>>>>
>>>>>
>>>>> When using juddi with the Derby DB, out-of-the-box, the 
>>>>> tomcat/bin/juddi-derby-test-db/ directory is automatically created 
>>>>> when running ./startup.sh. I think I am missing the steps that 
>>>>> create tables and populate them with the juddi services in my 
>>>>> JUDDI database in MySQL. If this should be done manually, what 
>>>>> tables are necessary?
>>>>>
>>>>> Also worth mentioning, the tomcat/bin/juddi-derby-test-db/ 
>>>>> directory is still being created and populated even after the 
>>>>> modification.
>>>>>
>>>>> Please help!
>>>>>
>>>>> Thanks
>>>>>
>>>>> Jeremi
>>>>
>>>>
>>>
>>
>>


Mime
View raw message