You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Lasantha Ranaweera <la...@opensource.lk> on 2006/07/05 12:58:42 UTC
Is this due to a problem in Derby Embedded DB?
Hi All,
An interesting observation made when I was writing a sample application
to the Geronimo v1.1. The sample application just a small web
application which refers to the embedded Derby DB from a DataSource. I
carried out some investigation regarding the observation. Following are
my observations in a list of test scenarios.
Scenario => Deploying a database pool in Geronimo v1.1 and accessing it
without restarting the server
Scenario 1:-
OS :- Windows XP
Server :- Geronimo v1.1/ Tomcat
Database :- Embedded Derby DB.
Condition :- Access Without Restarting.
Result :- Attached Error Occurs.
Scenario 2:-
OS :- Windows XP
Server :- Geronimo v1.1/ Tomcat
Database :- Embedded Derby DB.
Condition :- Access DB Pool After Restarting the Server.
Result :- Application works without an error.
Scenario 3:-
OS :- Linux
Server :- Geronimo v1.1/ Tomcat
Database :- Embedded Derby DB.
Condition :- Access Without Restarting.
Result :- Application works without an error.
Scenario 4:-
OS :- Windows XP
Server :- Geronimo v1.1/ Tomcat
Database :- MySQL
Condition :- Access Without Restarting.
Result :- Application works without an error.
Due to above results I suspect there is a problem in Derby database of
Geronimo 1.1 in Windows environment. Also I think error reported by
Markus as "creating security realm in 1.1 fails" same due to a problem
Derby Database. Please correct me if I am wrong.
Herewith I attached necessary files to test the application too.
With Kind Regards,
Lasantha
Lasantha Ranaweera
Senior Software Engineer,
Lanka Software Foundation,
Sri Lanka.
Re: Is this due to a problem in Derby Embedded DB?
Posted by David Jencks <da...@yahoo.com>.
Can you try changing the dependency
<dep:dependency>
<dep:groupId>org.apache.derby</dep:groupId>
<dep:artifactId>derby</dep:artifactId>
<dep:version>10.1.1.0</dep:version>
<dep:type>jar</dep:type>
</dep:dependency>
to
<dep:dependency>
<dep:groupId>geronimo</dep:groupId>
<dep:artifactId>system-database</dep:artifactId>
<dep:type>car</dep:type>
</dep:dependency>
I think this problem might be caused by loading 2 copies of the derby
database in 2 classloaders: this typically breaks a lot of derby. If
this is the problem I don't know why restarting the server would fix it.
thanks
david jencks
On Jul 5, 2006, at 4:46 AM, Lasantha Ranaweera wrote:
> Hi Aron,
>
> I changed the URL in the deployment plan of the DB Pool as you
> suggested. Then deploy it using a command prompt. Error still
> appears in the same scenario until it restarts.
>
> Thanks,
> Lasantha
>
>
>
> Aaron Mulder wrote:
>> If you haven't manually created the Derby DB before these tests, can
>> you try changing your URL to "jdbc:derby:InventoryDB;create=true" and
>> let us know if that fixes the problem on Windows?
>>
>> Also, the security realm issue was not a Derby problem, it was a
>> problem with how the admin console tries to create the new security
>> realm service.
>>
>> Thanks,
>> Aaron
>>
>> On 7/5/06, Lasantha Ranaweera <la...@opensource.lk> wrote:
>>>
>>>
>>>
>>>
>>>
>>>
>>> Hi All,
>>>
>>> An interesting observation made when I was writing a sample
>>> application to
>>> the Geronimo v1.1. The sample application just a small web
>>> application which
>>> refers to the embedded Derby DB from a DataSource. I carried out
>>> some
>>> investigation regarding the observation. Following are my
>>> observations in a
>>> list of test scenarios.
>>>
>>> Scenario => Deploying a database pool in Geronimo v1.1 and
>>> accessing it
>>> without restarting the server
>>>
>>> Scenario 1:-
>>> OS :- Windows XP
>>> Server :- Geronimo v1.1/ Tomcat
>>> Database :- Embedded Derby DB.
>>> Condition :- Access Without Restarting.
>>> Result :- Attached Error Occurs.
>>>
>>> Scenario 2:-
>>> OS :- Windows XP
>>> Server :- Geronimo v1.1/ Tomcat
>>> Database :- Embedded Derby DB.
>>> Condition :- Access DB Pool After Restarting the Server.
>>> Result :- Application works without an error.
>>>
>>> Scenario 3:-
>>> OS :- Linux
>>> Server :- Geronimo v1.1/ Tomcat
>>> Database :- Embedded Derby DB.
>>> Condition :- Access Without Restarting.
>>> Result :- Application works without an error.
>>>
>>> Scenario 4:-
>>> OS :- Windows XP
>>> Server :- Geronimo v1.1/ Tomcat
>>> Database :- MySQL
>>> Condition :- Access Without Restarting.
>>> Result :- Application works without an error.
>>>
>>>
>>>
>>>
>>> Due to above results I suspect there is a problem in Derby
>>> database of
>>> Geronimo 1.1 in Windows environment. Also I think error reported
>>> by Markus
>>> as "creating security realm in 1.1 fails" same due to a problem
>>> Derby
>>> Database. Please correct me if I am wrong.
>>>
>>>
>>> Herewith I attached necessary files to test the application too.
>>>
>>> With Kind Regards,
>>> Lasantha
>>>
>>> Lasantha Ranaweera
>>> Senior Software Engineer,
>>> Lanka Software Foundation,
>>> Sri Lanka.
>>> SQL Exception: Failed to start database 'InventoryDB', see the next
>>> exception fo
>>> r details.
>>> at
>>> org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
>>> Source)
>>> at
>>> org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
>>> Source)
>>> at
>>> org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
>>> Source
>>> )
>>> at
>>> org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown
>>> So
>>> urce)
>>> at
>>> org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown
>>> Sourc
>>> e)
>>> at
>>> org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown
>>> Source)
>>> at
>>> org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown
>>> Source)
>>> at
>>> org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown
>>> Source)
>>> at
>>> org.apache.derby.jdbc.InternalDriver.connect(Unknown
>>> Source)
>>> at
>>> org.apache.derby.jdbc.EmbeddedDriver.connect(Unknown
>>> Source)
>>> at
>>> org.tranql.connector.jdbc.JDBCDriverMCF.getPhysicalConnection
>>> (JDBCDri
>>> verMCF.java:96)
>>> at
>>> org.tranql.connector.jdbc.JDBCDriverMCF.createManagedConnection
>>> (JDBCD
>>> riverMCF.java:73)
>>> at
>>> org.apache.geronimo.connector.outbound.MCFConnectionInterceptor.getC
>>> o
>>> nnection(MCFConnectionInterceptor.java:41)
>>> at
>>> org.apache.geronimo.connector.outbound.LocalXAResourceInsertionInter
>>> c
>>> eptor.getConnection(LocalXAResourceInsertionInterceptor.java:41)
>>> at
>>> org.apache.geronimo.connector.outbound.SinglePoolConnectionIntercept
>>> o
>>> r.internalGetConnection(SinglePoolConnectionInterceptor.java:63)
>>> at
>>> org.apache.geronimo.connector.outbound.AbstractSinglePoolConnectionI
>>> n
>>> terceptor.getConnection
>>> (AbstractSinglePoolConnectionInterceptor.java:73)
>>> at
>>> org.apache.geronimo.connector.outbound.TransactionEnlistingIntercept
>>> o
>>> r.getConnection(TransactionEnlistingInterceptor.java:47)
>>> at
>>> org.apache.geronimo.connector.outbound.TransactionCachingInterceptor
>>> .
>>> getConnection(TransactionCachingInterceptor.java:86)
>>> at
>>> org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.g
>>> e
>>> tConnection(ConnectionHandleInterceptor.java:43)
>>> at
>>> org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection
>>> (
>>> TCCLInterceptor.java:39)
>>> at
>>> org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor
>>> .
>>> getConnection(ConnectionTrackingInterceptor.java:66)
>>> at
>>> org.apache.geronimo.connector.outbound.AbstractConnectionManager.all
>>> o
>>> cateConnection(AbstractConnectionManager.java:61)
>>> at
>>> org.tranql.connector.jdbc.DataSource.getConnection
>>> (DataSource.java:56
>>> )
>>> at
>>> $javax.sql.DataSource$$FastClassByCGLIB$$6525cafd.invoke
>>> (<generated>)
>>>
>>> at
>>> net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
>>> at
>>> org.apache.geronimo.connector.ConnectorMethodInterceptor.intercept
>>> (Co
>>> nnectorMethodInterceptor.java:54)
>>> at
>>> $javax.sql.DataSource$$EnhancerByCGLIB$$a80fed92.getConnection
>>> (<gener
>>> ated>)
>>> at
>>> org.apache.geronimo.samples.inventory.util.DBManager.getConnection
>>> (Un
>>> known Source)
>>> at
>>> org.apache.geronimo.samples.inventory.dao.ItemDAO.getItems(Unknown
>>> So
>>> urce)
>>> at
>>> org.apache.geronimo.samples.inventory.services.InventoryManager.getI
>>> t
>>> ems(Unknown Source)
>>> at
>>> org.apache.jsp.welcome_jsp._jspService(org.apache.jsp.welcome_jsp:
>>> 65)
>>>
>>> at
>>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>> at
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>> at
>>> org.apache.jasper.servlet.JspServletWrapper.service
>>> (JspServletWrapper
>>> .java:332)
>>> at
>>> org.apache.jasper.servlet.JspServlet.serviceJspFile
>>> (JspServlet.java:3
>>> 14)
>>> at
>>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>> at
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>>> (Appl
>>> icationFilterChain.java:252)
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter
>>> (ApplicationF
>>> ilterChain.java:173)
>>> at
>>> org.apache.catalina.core.StandardWrapperValve.invoke
>>> (StandardWrapperV
>>> alve.java:213)
>>> at
>>> org.apache.catalina.core.StandardContextValve.invoke
>>> (StandardContextV
>>> alve.java:178)
>>> at
>>> org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke
>>> (DefaultSu
>>> bjectValve.java:46)
>>> at
>>> org.apache.geronimo.tomcat.GeronimoStandardContext
>>> $SystemMethodValve.
>>> invoke(GeronimoStandardContext.java:342)
>>> at
>>> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke
>>> (Gero
>>> nimoBeforeAfterValve.java:31)
>>> at
>>> org.apache.catalina.core.StandardHostValve.invoke
>>> (StandardHostValve.j
>>> ava:126)
>>> at
>>> org.apache.catalina.valves.ErrorReportValve.invoke
>>> (ErrorReportValve.j
>>> ava:105)
>>> at
>>> org.apache.catalina.core.StandardEngineValve.invoke
>>> (StandardEngineVal
>>> ve.java:107)
>>> at
>>> org.apache.catalina.valves.AccessLogValve.invoke
>>> (AccessLogValve.java:
>>> 541)
>>> at
>>> org.apache.catalina.connector.CoyoteAdapter.service
>>> (CoyoteAdapter.jav
>>> a:148)
>>> at
>>> org.apache.coyote.http11.Http11Processor.process
>>> (Http11Processor.java
>>> :869)
>>> at
>>> org.apache.coyote.http11.Http11BaseProtocol
>>> $Http11ConnectionHandler.p
>>> rocessConnection(Http11BaseProtocol.java:667)
>>> at
>>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket
>>> (PoolTcpEndpo
>>> int.java:527)
>>> at
>>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt
>>> (LeaderFol
>>> lowerWorkerThread.java:80)
>>> at
>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
>>> (ThreadP
>>> ool.java:684)
>>> at java.lang.Thread.run(Thread.java:534)
>>> 15:08:17,171 ERROR [[jsp]] Servlet.service() for servlet jsp
>>> threw exception
>>> java.lang.NullPointerException
>>> at
>>> org.apache.geronimo.samples.inventory.dao.ItemDAO.getItems(Unknown
>>> So
>>> urce)
>>> at
>>> org.apache.geronimo.samples.inventory.services.InventoryManager.getI
>>> t
>>> ems(Unknown Source)
>>> at
>>> org.apache.jsp.welcome_jsp._jspService(org.apache.jsp.welcome_jsp:
>>> 65)
>>>
>>> at
>>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>> at
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>> at
>>> org.apache.jasper.servlet.JspServletWrapper.service
>>> (JspServletWrapper
>>> .java:332)
>>> at
>>> org.apache.jasper.servlet.JspServlet.serviceJspFile
>>> (JspServlet.java:3
>>> 14)
>>> at
>>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>> at
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>>> (Appl
>>> icationFilterChain.java:252)
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter
>>> (ApplicationF
>>> ilterChain.java:173)
>>> at
>>> org.apache.catalina.core.StandardWrapperValve.invoke
>>> (StandardWrapperV
>>> alve.java:213)
>>> at
>>> org.apache.catalina.core.StandardContextValve.invoke
>>> (StandardContextV
>>> alve.java:178)
>>> at
>>> org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke
>>> (DefaultSu
>>> bjectValve.java:46)
>>> at
>>> org.apache.geronimo.tomcat.GeronimoStandardContext
>>> $SystemMethodValve.
>>> invoke(GeronimoStandardContext.java:342)
>>> at
>>> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke
>>> (Gero
>>> nimoBeforeAfterValve.java:31)
>>> at
>>> org.apache.catalina.core.StandardHostValve.invoke
>>> (StandardHostValve.j
>>> ava:126)
>>> at
>>> org.apache.catalina.valves.ErrorReportValve.invoke
>>> (ErrorReportValve.j
>>> ava:105)
>>> at
>>> org.apache.catalina.core.StandardEngineValve.invoke
>>> (StandardEngineVal
>>> ve.java:107)
>>> at
>>> org.apache.catalina.valves.AccessLogValve.invoke
>>> (AccessLogValve.java:
>>> 541)
>>> at
>>> org.apache.catalina.connector.CoyoteAdapter.service
>>> (CoyoteAdapter.jav
>>> a:148)
>>> at
>>> org.apache.coyote.http11.Http11Processor.process
>>> (Http11Processor.java
>>> :869)
>>> at
>>> org.apache.coyote.http11.Http11BaseProtocol
>>> $Http11ConnectionHandler.p
>>> rocessConnection(Http11BaseProtocol.java:667)
>>> at
>>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket
>>> (PoolTcpEndpo
>>> int.java:527)
>>> at
>>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt
>>> (LeaderFol
>>> lowerWorkerThread.java:80)
>>> at
>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
>>> (ThreadP
>>> ool.java:684)
>>> at java.lang.Thread.run(Thread.java:534)
>>>
>>>
>>> CREATE TABLE item(
>>> item_id VARCHAR(10) PRIMARY KEY,
>>> item_name VARCHAR(25),
>>> description VARCHAR(100)
>>> );
>>>
>>> CREATE TABLE item_master(
>>> item_id VARCHAR(10) PRIMARY KEY,
>>> quantity INTEGER
>>> );
>>>
>>> INSERT INTO item VALUES('001', 'Item 1', 'Test Item 1');
>>> INSERT INTO item VALUES('002', 'Item 2', 'Test Item 2');
>>> INSERT INTO item VALUES('003', 'Item 3', 'Test Item 3');
>>> INSERT INTO item VALUES('004', 'Item 4', 'Test Item 4');
>>>
>>>
>>> INSERT INTO item_master VALUES('001', 12);
>>> INSERT INTO item_master VALUES('002', 8);
>>> INSERT INTO item_master VALUES('003', 49);
>>> INSERT INTO item_master VALUES('004', 34);
>>>
>>>
>>>
>>
>
Re: Is this due to a problem in Derby Embedded DB?
Posted by Lasantha Ranaweera <la...@opensource.lk>.
Hi Aron,
I changed the URL in the deployment plan of the DB Pool as you
suggested. Then deploy it using a command prompt. Error still appears in
the same scenario until it restarts.
Thanks,
Lasantha
Aaron Mulder wrote:
> If you haven't manually created the Derby DB before these tests, can
> you try changing your URL to "jdbc:derby:InventoryDB;create=true" and
> let us know if that fixes the problem on Windows?
>
> Also, the security realm issue was not a Derby problem, it was a
> problem with how the admin console tries to create the new security
> realm service.
>
> Thanks,
> Aaron
>
> On 7/5/06, Lasantha Ranaweera <la...@opensource.lk> wrote:
>>
>>
>>
>>
>>
>>
>> Hi All,
>>
>> An interesting observation made when I was writing a sample
>> application to
>> the Geronimo v1.1. The sample application just a small web
>> application which
>> refers to the embedded Derby DB from a DataSource. I carried out some
>> investigation regarding the observation. Following are my
>> observations in a
>> list of test scenarios.
>>
>> Scenario => Deploying a database pool in Geronimo v1.1 and accessing it
>> without restarting the server
>>
>> Scenario 1:-
>> OS :- Windows XP
>> Server :- Geronimo v1.1/ Tomcat
>> Database :- Embedded Derby DB.
>> Condition :- Access Without Restarting.
>> Result :- Attached Error Occurs.
>>
>> Scenario 2:-
>> OS :- Windows XP
>> Server :- Geronimo v1.1/ Tomcat
>> Database :- Embedded Derby DB.
>> Condition :- Access DB Pool After Restarting the Server.
>> Result :- Application works without an error.
>>
>> Scenario 3:-
>> OS :- Linux
>> Server :- Geronimo v1.1/ Tomcat
>> Database :- Embedded Derby DB.
>> Condition :- Access Without Restarting.
>> Result :- Application works without an error.
>>
>> Scenario 4:-
>> OS :- Windows XP
>> Server :- Geronimo v1.1/ Tomcat
>> Database :- MySQL
>> Condition :- Access Without Restarting.
>> Result :- Application works without an error.
>>
>>
>>
>>
>> Due to above results I suspect there is a problem in Derby database of
>> Geronimo 1.1 in Windows environment. Also I think error reported by
>> Markus
>> as "creating security realm in 1.1 fails" same due to a problem Derby
>> Database. Please correct me if I am wrong.
>>
>>
>> Herewith I attached necessary files to test the application too.
>>
>> With Kind Regards,
>> Lasantha
>>
>> Lasantha Ranaweera
>> Senior Software Engineer,
>> Lanka Software Foundation,
>> Sri Lanka.
>> SQL Exception: Failed to start database 'InventoryDB', see the next
>> exception fo
>> r details.
>> at
>> org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
>> Source)
>> at
>> org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
>> Source)
>> at
>> org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
>> Source
>> )
>> at
>> org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown
>> So
>> urce)
>> at
>> org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown
>> Sourc
>> e)
>> at
>> org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown
>> Source)
>> at
>> org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown
>> Source)
>> at
>> org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown
>> Source)
>> at
>> org.apache.derby.jdbc.InternalDriver.connect(Unknown
>> Source)
>> at
>> org.apache.derby.jdbc.EmbeddedDriver.connect(Unknown
>> Source)
>> at
>> org.tranql.connector.jdbc.JDBCDriverMCF.getPhysicalConnection(JDBCDri
>> verMCF.java:96)
>> at
>> org.tranql.connector.jdbc.JDBCDriverMCF.createManagedConnection(JDBCD
>> riverMCF.java:73)
>> at
>> org.apache.geronimo.connector.outbound.MCFConnectionInterceptor.getCo
>> nnection(MCFConnectionInterceptor.java:41)
>> at
>> org.apache.geronimo.connector.outbound.LocalXAResourceInsertionInterc
>> eptor.getConnection(LocalXAResourceInsertionInterceptor.java:41)
>> at
>> org.apache.geronimo.connector.outbound.SinglePoolConnectionIntercepto
>> r.internalGetConnection(SinglePoolConnectionInterceptor.java:63)
>> at
>> org.apache.geronimo.connector.outbound.AbstractSinglePoolConnectionIn
>> terceptor.getConnection(AbstractSinglePoolConnectionInterceptor.java:73)
>> at
>> org.apache.geronimo.connector.outbound.TransactionEnlistingIntercepto
>> r.getConnection(TransactionEnlistingInterceptor.java:47)
>> at
>> org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.
>> getConnection(TransactionCachingInterceptor.java:86)
>> at
>> org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.ge
>> tConnection(ConnectionHandleInterceptor.java:43)
>> at
>> org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection(
>> TCCLInterceptor.java:39)
>> at
>> org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.
>> getConnection(ConnectionTrackingInterceptor.java:66)
>> at
>> org.apache.geronimo.connector.outbound.AbstractConnectionManager.allo
>> cateConnection(AbstractConnectionManager.java:61)
>> at
>> org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:56
>> )
>> at
>> $javax.sql.DataSource$$FastClassByCGLIB$$6525cafd.invoke(<generated>)
>>
>> at
>> net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
>> at
>> org.apache.geronimo.connector.ConnectorMethodInterceptor.intercept(Co
>> nnectorMethodInterceptor.java:54)
>> at
>> $javax.sql.DataSource$$EnhancerByCGLIB$$a80fed92.getConnection(<gener
>> ated>)
>> at
>> org.apache.geronimo.samples.inventory.util.DBManager.getConnection(Un
>> known Source)
>> at
>> org.apache.geronimo.samples.inventory.dao.ItemDAO.getItems(Unknown
>> So
>> urce)
>> at
>> org.apache.geronimo.samples.inventory.services.InventoryManager.getIt
>> ems(Unknown Source)
>> at
>> org.apache.jsp.welcome_jsp._jspService(org.apache.jsp.welcome_jsp:65)
>>
>> at
>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>> at
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>> at
>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
>> .java:332)
>> at
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
>> 14)
>> at
>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>> at
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
>> icationFilterChain.java:252)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
>> ilterChain.java:173)
>> at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
>> alve.java:213)
>> at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
>> alve.java:178)
>> at
>> org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSu
>> bjectValve.java:46)
>> at
>> org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.
>> invoke(GeronimoStandardContext.java:342)
>> at
>> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(Gero
>> nimoBeforeAfterValve.java:31)
>> at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
>> ava:126)
>> at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
>> ava:105)
>> at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
>> ve.java:107)
>> at
>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
>> 541)
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
>> a:148)
>> at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
>> :869)
>> at
>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
>> rocessConnection(Http11BaseProtocol.java:667)
>> at
>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
>> int.java:527)
>> at
>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
>> lowerWorkerThread.java:80)
>> at
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
>> ool.java:684)
>> at java.lang.Thread.run(Thread.java:534)
>> 15:08:17,171 ERROR [[jsp]] Servlet.service() for servlet jsp threw
>> exception
>> java.lang.NullPointerException
>> at
>> org.apache.geronimo.samples.inventory.dao.ItemDAO.getItems(Unknown
>> So
>> urce)
>> at
>> org.apache.geronimo.samples.inventory.services.InventoryManager.getIt
>> ems(Unknown Source)
>> at
>> org.apache.jsp.welcome_jsp._jspService(org.apache.jsp.welcome_jsp:65)
>>
>> at
>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>> at
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>> at
>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
>> .java:332)
>> at
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
>> 14)
>> at
>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>> at
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
>> icationFilterChain.java:252)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
>> ilterChain.java:173)
>> at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
>> alve.java:213)
>> at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
>> alve.java:178)
>> at
>> org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSu
>> bjectValve.java:46)
>> at
>> org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.
>> invoke(GeronimoStandardContext.java:342)
>> at
>> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(Gero
>> nimoBeforeAfterValve.java:31)
>> at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
>> ava:126)
>> at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
>> ava:105)
>> at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
>> ve.java:107)
>> at
>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
>> 541)
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
>> a:148)
>> at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
>> :869)
>> at
>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
>> rocessConnection(Http11BaseProtocol.java:667)
>> at
>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
>> int.java:527)
>> at
>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
>> lowerWorkerThread.java:80)
>> at
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
>> ool.java:684)
>> at java.lang.Thread.run(Thread.java:534)
>>
>>
>> CREATE TABLE item(
>> item_id VARCHAR(10) PRIMARY KEY,
>> item_name VARCHAR(25),
>> description VARCHAR(100)
>> );
>>
>> CREATE TABLE item_master(
>> item_id VARCHAR(10) PRIMARY KEY,
>> quantity INTEGER
>> );
>>
>> INSERT INTO item VALUES('001', 'Item 1', 'Test Item 1');
>> INSERT INTO item VALUES('002', 'Item 2', 'Test Item 2');
>> INSERT INTO item VALUES('003', 'Item 3', 'Test Item 3');
>> INSERT INTO item VALUES('004', 'Item 4', 'Test Item 4');
>>
>>
>> INSERT INTO item_master VALUES('001', 12);
>> INSERT INTO item_master VALUES('002', 8);
>> INSERT INTO item_master VALUES('003', 49);
>> INSERT INTO item_master VALUES('004', 34);
>>
>>
>>
>
Re: Is this due to a problem in Derby Embedded DB?
Posted by Aaron Mulder <am...@alumni.princeton.edu>.
If you haven't manually created the Derby DB before these tests, can
you try changing your URL to "jdbc:derby:InventoryDB;create=true" and
let us know if that fixes the problem on Windows?
Also, the security realm issue was not a Derby problem, it was a
problem with how the admin console tries to create the new security
realm service.
Thanks,
Aaron
On 7/5/06, Lasantha Ranaweera <la...@opensource.lk> wrote:
>
>
>
>
>
>
> Hi All,
>
> An interesting observation made when I was writing a sample application to
> the Geronimo v1.1. The sample application just a small web application which
> refers to the embedded Derby DB from a DataSource. I carried out some
> investigation regarding the observation. Following are my observations in a
> list of test scenarios.
>
> Scenario => Deploying a database pool in Geronimo v1.1 and accessing it
> without restarting the server
>
> Scenario 1:-
> OS :- Windows XP
> Server :- Geronimo v1.1/ Tomcat
> Database :- Embedded Derby DB.
> Condition :- Access Without Restarting.
> Result :- Attached Error Occurs.
>
> Scenario 2:-
> OS :- Windows XP
> Server :- Geronimo v1.1/ Tomcat
> Database :- Embedded Derby DB.
> Condition :- Access DB Pool After Restarting the Server.
> Result :- Application works without an error.
>
> Scenario 3:-
> OS :- Linux
> Server :- Geronimo v1.1/ Tomcat
> Database :- Embedded Derby DB.
> Condition :- Access Without Restarting.
> Result :- Application works without an error.
>
> Scenario 4:-
> OS :- Windows XP
> Server :- Geronimo v1.1/ Tomcat
> Database :- MySQL
> Condition :- Access Without Restarting.
> Result :- Application works without an error.
>
>
>
>
> Due to above results I suspect there is a problem in Derby database of
> Geronimo 1.1 in Windows environment. Also I think error reported by Markus
> as "creating security realm in 1.1 fails" same due to a problem Derby
> Database. Please correct me if I am wrong.
>
>
> Herewith I attached necessary files to test the application too.
>
> With Kind Regards,
> Lasantha
>
> Lasantha Ranaweera
> Senior Software Engineer,
> Lanka Software Foundation,
> Sri Lanka.
> SQL Exception: Failed to start database 'InventoryDB', see the next
> exception fo
> r details.
> at
> org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
> Source)
> at
> org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
> Source)
> at
> org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
> Source
> )
> at
> org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown
> So
> urce)
> at
> org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown
> Sourc
> e)
> at
> org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown
> Source)
> at
> org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown
> Source)
> at
> org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown
> Source)
> at
> org.apache.derby.jdbc.InternalDriver.connect(Unknown
> Source)
> at
> org.apache.derby.jdbc.EmbeddedDriver.connect(Unknown
> Source)
> at
> org.tranql.connector.jdbc.JDBCDriverMCF.getPhysicalConnection(JDBCDri
> verMCF.java:96)
> at
> org.tranql.connector.jdbc.JDBCDriverMCF.createManagedConnection(JDBCD
> riverMCF.java:73)
> at
> org.apache.geronimo.connector.outbound.MCFConnectionInterceptor.getCo
> nnection(MCFConnectionInterceptor.java:41)
> at
> org.apache.geronimo.connector.outbound.LocalXAResourceInsertionInterc
> eptor.getConnection(LocalXAResourceInsertionInterceptor.java:41)
> at
> org.apache.geronimo.connector.outbound.SinglePoolConnectionIntercepto
> r.internalGetConnection(SinglePoolConnectionInterceptor.java:63)
> at
> org.apache.geronimo.connector.outbound.AbstractSinglePoolConnectionIn
> terceptor.getConnection(AbstractSinglePoolConnectionInterceptor.java:73)
> at
> org.apache.geronimo.connector.outbound.TransactionEnlistingIntercepto
> r.getConnection(TransactionEnlistingInterceptor.java:47)
> at
> org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.
> getConnection(TransactionCachingInterceptor.java:86)
> at
> org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.ge
> tConnection(ConnectionHandleInterceptor.java:43)
> at
> org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection(
> TCCLInterceptor.java:39)
> at
> org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.
> getConnection(ConnectionTrackingInterceptor.java:66)
> at
> org.apache.geronimo.connector.outbound.AbstractConnectionManager.allo
> cateConnection(AbstractConnectionManager.java:61)
> at
> org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:56
> )
> at
> $javax.sql.DataSource$$FastClassByCGLIB$$6525cafd.invoke(<generated>)
>
> at
> net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at
> org.apache.geronimo.connector.ConnectorMethodInterceptor.intercept(Co
> nnectorMethodInterceptor.java:54)
> at
> $javax.sql.DataSource$$EnhancerByCGLIB$$a80fed92.getConnection(<gener
> ated>)
> at
> org.apache.geronimo.samples.inventory.util.DBManager.getConnection(Un
> known Source)
> at
> org.apache.geronimo.samples.inventory.dao.ItemDAO.getItems(Unknown
> So
> urce)
> at
> org.apache.geronimo.samples.inventory.services.InventoryManager.getIt
> ems(Unknown Source)
> at
> org.apache.jsp.welcome_jsp._jspService(org.apache.jsp.welcome_jsp:65)
>
> at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
> .java:332)
> at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
> 14)
> at
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:252)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:173)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:178)
> at
> org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSu
> bjectValve.java:46)
> at
> org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.
> invoke(GeronimoStandardContext.java:342)
> at
> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(Gero
> nimoBeforeAfterValve.java:31)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:126)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:105)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:107)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
> 541)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
> a:148)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> :869)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
> rocessConnection(Http11BaseProtocol.java:667)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
> int.java:527)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
> lowerWorkerThread.java:80)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
> ool.java:684)
> at java.lang.Thread.run(Thread.java:534)
> 15:08:17,171 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
> java.lang.NullPointerException
> at
> org.apache.geronimo.samples.inventory.dao.ItemDAO.getItems(Unknown
> So
> urce)
> at
> org.apache.geronimo.samples.inventory.services.InventoryManager.getIt
> ems(Unknown Source)
> at
> org.apache.jsp.welcome_jsp._jspService(org.apache.jsp.welcome_jsp:65)
>
> at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
> .java:332)
> at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
> 14)
> at
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:252)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:173)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:178)
> at
> org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSu
> bjectValve.java:46)
> at
> org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.
> invoke(GeronimoStandardContext.java:342)
> at
> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(Gero
> nimoBeforeAfterValve.java:31)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:126)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:105)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:107)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
> 541)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
> a:148)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> :869)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
> rocessConnection(Http11BaseProtocol.java:667)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
> int.java:527)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
> lowerWorkerThread.java:80)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
> ool.java:684)
> at java.lang.Thread.run(Thread.java:534)
>
>
> CREATE TABLE item(
> item_id VARCHAR(10) PRIMARY KEY,
> item_name VARCHAR(25),
> description VARCHAR(100)
> );
>
> CREATE TABLE item_master(
> item_id VARCHAR(10) PRIMARY KEY,
> quantity INTEGER
> );
>
> INSERT INTO item VALUES('001', 'Item 1', 'Test Item 1');
> INSERT INTO item VALUES('002', 'Item 2', 'Test Item 2');
> INSERT INTO item VALUES('003', 'Item 3', 'Test Item 3');
> INSERT INTO item VALUES('004', 'Item 4', 'Test Item 4');
>
>
> INSERT INTO item_master VALUES('001', 12);
> INSERT INTO item_master VALUES('002', 8);
> INSERT INTO item_master VALUES('003', 49);
> INSERT INTO item_master VALUES('004', 34);
>
>
>