Subject Re: [Firebird-Java] Jboss 3.0 RC3 Configuration Trouble
Author David Jencks
I think this is probably caused by some changes I made to how jboss
determines if ManagedConnectionFactories are identical and a bad
implementation of equals in the firebird driver. I will look at this this
afternoon.

david jencks

On 2002.06.04 09:23:28 -0400 Bryan Napier wrote:
> I'm trying to get Firebird 1.0 (Windows) configured
> for JBoss 3.0 RC3 (Windows) using the JCA driver. I
> receive no errors until I execute one of the Finder
> methods of one of my CMP beans. I used the
> firebird-service.xml from docs/examples/jca as a
> template, and tried downloading the latest version
> from CVS to make sure that wasn't the problem. The
> following is the error I receive:
>
> 2002-06-04 09:01:05,283 ERROR
> [org.jboss.ejb.plugins.jaws.jdbc.JDBCFinderCommand]
> Failed to create finder results
> java.sql.SQLException: Problem getting connection:
> javax.resource.ResourceException: Wrong
> ManagedConnectionFactory sent to allocateConnection!
> at
> org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:100)
> at
> org.jboss.ejb.plugins.jaws.jdbc.JDBCCommand.getConnection(JDBCCommand.java:694)
> at
> org.jboss.ejb.plugins.jaws.jdbc.JDBCCommand.jdbcExecute(JDBCCommand.java:167)
> at
> org.jboss.ejb.plugins.jaws.jdbc.JDBCFinderCommand.execute(JDBCFinderCommand.java:114)
> at
> org.jboss.ejb.plugins.jaws.jdbc.JDBCFindEntitiesCommand.execute(JDBCFindEntitiesCommand.java:194)
> at
> org.jboss.ejb.plugins.jaws.JAWSPersistenceManager.findEntities(JAWSPersistenceManager.java:269)
> at
> org.jboss.ejb.plugins.CMPPersistenceManager.findEntities(CMPPersistenceManager.java:348)
> at
> org.jboss.resource.connectionmanager.CachedConnectionInterceptor.findEntities(CachedConnectionInterceptor.java:284)
> at
> org.jboss.ejb.EntityContainer.find(EntityContainer.java:662)
> at java.lang.reflect.Method.invoke(Native Method)
> at
> org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1116)
> at
> org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:257)
> at
> org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:176)
> at
> org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:134)
> at
> org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:79)
> at
> org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:44)
> at
> org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:98)
> at
> org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:167)
> at
> org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:52)
> at
> org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:104)
> at
> org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:109)
> at
> org.jboss.ejb.EntityContainer.invokeHome(EntityContainer.java:487)
> at org.jboss.ejb.Container.invoke(Container.java:726)
> at
> org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:1055)
> at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
> at
> org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:98)
> at
> org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:102)
> at
> org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:73)
> at
> org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:76)
> at
> org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:185)
> at
> org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
> at $Proxy35.findAllOpenJobs(Unknown Source)
> at
> com.providicom.jms.JobManagementEJB.findAllOpenJobs(JobManagementEJB.java:90)
> at java.lang.reflect.Method.invoke(Native Method)
> at
> org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:664)
> at
> org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:147)
> at
> org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:77)
> at
> org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:96)
> at
> org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:167)
> at
> org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:61)
> at
> org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:129)
> at
> org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:166)
> at
> org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:313)
> at org.jboss.ejb.Container.invoke(Container.java:705)
> at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
> at
> org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:98)
> at
> org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:102)
> at
> org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:73)
> at
> org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:76)
> at
> org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:111)
> at
> org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
> at $Proxy43.findAllOpenJobs(Unknown Source)
> at
> com.providicom.jms.servlets.JobManagementFindServletSection.processPost(JobManagementFindServletSection.java:101)
> at
> com.providicom.jms.servlets.JobManagementFindServletSection.process(JobManagementFindServletSection.java:43)
> at
> com.providicom.jms.servlets.JobManagementServlet.processRequest(JobManagementServlet.java:98)
> at
> com.providicom.jms.servlets.JobManagementServlet.handleRequest(JobManagementServlet.java:38)
> at
> org.apache.velocity.servlet.VelocityServlet.doRequest(VelocityServlet.java:326)
> at
> org.apache.velocity.servlet.VelocityServlet.doGet(VelocityServlet.java:287)
> at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
> at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:326)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:595)
> at
> org.mortbay.http.HttpContext.handle(HttpContext.java:1357)
> at
> org.mortbay.http.HttpContext.handle(HttpContext.java:1309)
> at
> org.mortbay.http.HttpServer.service(HttpServer.java:744)
> at org.jboss.jetty.Jetty.service(Jetty.java:525)
> at
> org.mortbay.http.HttpConnection.service(HttpConnection.java:743)
> at
> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:916)
> at
> org.mortbay.http.HttpConnection.handle(HttpConnection.java:758)
> at
> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:145)
> at
> org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:287)
> at
> org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:715)
> at java.lang.Thread.run(Thread.java:484)
> 2002-06-04 09:01:05,283 INFO [STDOUT] Error
> javax.ejb.FinderException: Find failed:
> java.sql.SQLException: Problem getting connection:
> javax.resource.ResourceException: Wrong
> ManagedConnectionFactory sent to allocateConnection!
>
>
>
> This is my firebird-service.xml :
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <!--
> ====================================================================
> -->
> <!-- New ConnectionManager setup for firebird dbs
> using jca-jdbc xa driver-->
> <!-- Build jmx-api (build/build.sh all) and view for
> config documentation -->
> <!--
> ====================================================================
> -->
>
> <service>
>
> <!--FBManager can be used to create and drop
> databases.
> Drop is especially useful during testing, since it
>
> assures a clean start next time. -->
> <mbean code="org.firebirdsql.management.FBManager"
> name="jboss.jca:service=FirebirdManager">
> <attribute
> name="FileName">c:\cvs\jms\db\JOBS.GDB</attribute>
> <attribute name="UserName">sysdba</attribute>
> <attribute name="Password">masterkey</attribute>
> <attribute name="CreateOnStart">true</attribute>
> <attribute name="DropOnStop">false</attribute>
> </mbean>
>
> <mbean
> code="org.jboss.resource.connectionmanager.XATxConnectionManager"
> name="jboss.jca:service=XaTxCM,name=FirebirdDS">
> <!--make the rar deploy - A BIG HACK till xslt
> based deployment is written-->
> <depends>jboss.jca:service=RARDeployer</depends>
>
> <depends
> optional-attribute-name="ManagedConnectionFactoryName">
> <mbean
> code="org.jboss.resource.connectionmanager.RARDeployment"
> name="jboss.jca:service=XaTxDS,name=FirebirdDS">
> <!--more hack-->
> <depends
> optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name=Firebird
> Database Connector</depends>
> <attribute
> name="ManagedConnectionFactoryProperties">
> <properties>
> <!--config-property>
>
> <config-property-name>Server</config-property-name>
>
> <config-property-type>java.lang.String</config-property-type>
>
> <config-property-value>localhost</config-property-value>
> </config-property>
> <config-property>
>
> <config-property-name>Port</config-property-name>
>
> <config-property-type>java.lang.Integer</config-property-type>
>
> <config-property-value>3050</config-property-value>
> </config-property-->
> <config-property>
>
> <config-property-name>Database</config-property-name>
>
> <config-property-type>java.lang.String</config-property-type>
>
> <config-property-value>c:\cvs\jms\db\JOBS.GDB</config-property-value>
> </config-property>
> <config-property>
>
> <config-property-name>UserName</config-property-name>
>
> <config-property-type>java.lang.String</config-property-type>
>
> <config-property-value>xxxxxx</config-property-value>
> </config-property>
> <config-property>
>
> <config-property-name>Password</config-property-name>
>
> <config-property-type>java.lang.String</config-property-type>
>
> <config-property-value>xxxxxx</config-property-value>
> </config-property>
> </properties>
> </attribute>
> <attribute name="JndiName">JMS</attribute>
> </mbean>
>
> </depends>
> <depends
> optional-attribute-name="ManagedConnectionPool">
> <mbean
> code="org.jboss.resource.connectionmanager.JBossManagedConnectionPool"
> name="jboss.jca:service=XaTxPool,name=FirebirdDS">
>
> <attribute name="MinSize">0</attribute>
> <attribute name="MaxSize">50</attribute>
> <attribute
> name="BlockingTimeoutMillis">5000</attribute>
> <attribute
> name="IdleTimeoutMinutes">15</attribute>
> <!--criteria indicates if Subject (from
> security domain) or app supplied
> parameters (such as from
> getConnection(user, pw)) are used to distinguish
> connections in the pool. Choices are
> ByContainerAndApplication (use both),
> ByContainer (use Subject),
> ByApplication (use app supplied params
> only),
> ByNothing (all connections are equivalent,
> usually if adapter supports
> reauthentication)-->
> <attribute
> name="Criteria">ByContainer</attribute>
> </mbean>
> </depends>
> <depends
> optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager</depends>
> <!-- Include a login module configuration named
> FirebirdDBRealm.
> Update your login-conf.xml, here is an
> example for a
> ConfiguredIdentityLoginModule:
>
> <application-policy name = "FirebirdDBRealm">
> <authentication>
> <login-module code =
> "org.jboss.resource.security.ConfiguredIdentityLoginModule"
> flag = "required">
> <module-option name =
> "principal">sysdba</module-option>
> <module-option name =
> "userName">sysdba</module-option>
> <module-option name =
> "password">masterkey</module-option>
> <module-option name =
> "managedConnectionFactoryName">jboss.jca:service=XaTxCM,name=FirebirdDS</module-option>
> </login-module>
> </authentication>
> </application-policy>
>
> NOTE: the application-policy name attribute must
> match SecurityDomainJndiName, and the
> module-option name =
> "managedConnectionFactoryName"
> must match the object name of the
> ConnectionManager you are configuring here.
> -->
> <!--comment out this line if you want component
> managed security or want
> to use the default values in the
> ManagedConnectionFactoryProperties -->
> <attribute
> name="SecurityDomainJndiName">FirebirdDBRealm</attribute>
>
> <depends
> optional-attribute-name="JaasSecurityManagerService">jboss.security:name=JaasSecurityManager</depends>
>
> <attribute
> name="TransactionManager">java:/TransactionManager</attribute>
> </mbean>
>
> </service>
>
> I have not changed the sysdba password for Firebird
> yet (this is on a development workstation, just trying
> to get things working first).
>
> Any help would be much appreciated!
>
> Bryan Napier
>
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! - Official partner of 2002 FIFA World Cup
> http://fifaworldcup.yahoo.com
>
>
> To unsubscribe from this group, send an email to:
> Firebird-Java-unsubscribe@yahoogroups.com
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>
>
>