You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Peter H (JIRA)" <ji...@apache.org> on 2010/01/08 15:36:54 UTC

[jira] Commented: (GERONIMO-4671) Error on Oracle XA Datasource deployment or server startup thow the datasource works correctly

    [ https://issues.apache.org/jira/browse/GERONIMO-4671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12798027#action_12798027 ] 

Peter H commented on GERONIMO-4671:
-----------------------------------

The same issue here
Geronimo 2.2
JDK 1.6.0_17
OS RHEL 4.6 Linux/x86

tried with oracle jdbc driver library version 10.2.0.3 (ojdbc14.jar) and 11.1.0.7 (ojdbc6.jar)

plan.xml (used console for deployment, selected Oracle XA of course):
<?xml version="1.0" encoding="UTF-8"?>
<connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-1.2">
    <dep:environment xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2">
        <dep:moduleId>
            <dep:groupId>console.dbpool</dep:groupId>
            <dep:artifactId>jdbc_ds1</dep:artifactId>
            <dep:version>1.0</dep:version>
            <dep:type>car</dep:type>
        </dep:moduleId>
        <dep:dependencies>
            <dep:dependency>
                <dep:groupId>oracle.jdbc</dep:groupId>
                <dep:artifactId>jdbc</dep:artifactId>
                <dep:version>11.1.0.7</dep:version>
                <dep:type>jar</dep:type>
            </dep:dependency>
        </dep:dependencies>
    </dep:environment>
    <resourceadapter>
        <outbound-resourceadapter>
            <connection-definition>
                <connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
                <connectiondefinition-instance>
                    <name>jdbc/ds1</name>
                    <config-property-setting name="DatabaseName">db1</config-property-setting>
                    <config-property-setting name="Description"/>
                    <config-property-setting name="Password">dbpasswd</config-property-setting>
                    <config-property-setting name="UserName">dbuser</config-property-setting>
                    <config-property-setting name="DataSourceName">oracle.jdbc.xa.client.OracleXADataSource</config-property-setting>
                    <config-property-setting name="ServerName">dbsrv1</config-property-setting>
                    <config-property-setting name="DriverType">thin</config-property-setting>
                    <config-property-setting name="MaxStatements"/>
                    <config-property-setting name="ServiceName">db1</config-property-setting>
                    <config-property-setting name="NetworkProtocol">TCP</config-property-setting>
                    <config-property-setting name="TNSEntryName">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbsrv1)(PORT=1521))(CONNECT_DATA=(SID=db1)))</config-property-setting>
                    <config-property-setting name="PortNumber">1521</config-property-setting>
                    <config-property-setting name="LoginTimeout"/>
                    <connectionmanager>
                        <xa-transaction>
                            <transaction-caching/>
                        </xa-transaction>
                        <single-pool>
                            <max-size>10</max-size>
                            <min-size>1</min-size>
                            <match-one/>
                        </single-pool>
                    </connectionmanager>
                </connectiondefinition-instance>
            </connection-definition>
        </outbound-resourceadapter>
    </resourceadapter>
</connector>


Exception thrown:
ERROR [RecoveryController] Recovery error
javax.transaction.xa.XAException
        at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:703)
        at org.apache.geronimo.transaction.manager.WrapperNamedXAResource.recover(WrapperNamedXAResource.java:74)
        at org.apache.geronimo.transaction.manager.RecoveryImpl.recoverResourceManager(RecoveryImpl.java:98)
        at org.apache.geronimo.transaction.manager.TransactionManagerImpl.recoverResourceManager(TransactionManagerImpl.java:352)
        at org.apache.geronimo.connector.outbound.AbstractConnectionManager.doRecovery(AbstractConnectionManager.java:70)
        at org.apache.geronimo.connector.outbound.ManagedConnectionFactoryWrapper.doStart(ManagedConnectionFactoryWrapper.java:164)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:953)
        at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:269)
        at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:103)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:525)
        at org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:110)
        at org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:145)
        at org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:119)
        at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:175)
        at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:44)
        at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:253)
        at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:295)
        at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:103)
        at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:125)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:539)
        at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:377)
        at org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
        at org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:190)
        at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:546)
        at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:527)
        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.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
        at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:130)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:816)
        at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
        at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
        at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
        at org.apache.geronimo.gbean.GBeanLifecycle$$EnhancerByCGLIB$$662b3dca.startConfiguration(<generated>)
        at org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartCommand.java:67)
        at java.lang.Thread.run(Thread.java:619)


Also I don't get why one has to configure properties:
DatabaseName
ServerName
ServiceName
NetworkProtocol
PortNumber

when it's necessary to specify all this via TNSEntryName property again so it's actually two times there

> Error on Oracle XA Datasource deployment or server startup thow the datasource works correctly
> ----------------------------------------------------------------------------------------------
>
>                 Key: GERONIMO-4671
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-4671
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: persistence
>    Affects Versions: 2.1.4
>         Environment: java 1.6 update 14, windows
>            Reporter: Ralf Baumhof
>            Priority: Minor
>
> We have configured oracle xa datasource with the following settings 
> (see also http://www.nabble.com/Configure-Oracle-XA-Datasource-with-Oracle-XE-(10g-Express)-in-console-dialog-to23707396s134.html#a23858245)
> User Name: oracleuser    (schema name)
> Service Name: xe
> Password:        XXX
> Confirm Password: XXX
> Port:        1521
> Data Source Name: oracle.jdbc.xa.client.OracleXADataSource
> Network Protocol: TCP
> Database Name: xe
> TNS Entry Name: (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(Host = localhost)(Port = 1521))(CONNECT_DATA = (SID = xe)))
> Driver Type: thin
> Server Name: localhost 
> The datasource works, and with geronimo 2.1.3 (java 1.5 update 16 on windows, linux) no errors have been reported. Now we are switching to geronimo 2.1.4 and during deployment an exception is thrown. This exception is also thrown on every server startup.
> Exception during deployment:
> Geronimo Application Server started
> 2009-06-03 21:09:45,921 WARN  [XSRFHandler] Blocked due to invalid HttpServletRe
> quest parameter.
> 2009-06-03 21:09:45,921 ERROR [XSSXSRFFilter] XSSXSRFFilter blocked HttpServletR
> equest due to invalid FORM content.
> 2009-06-03 21:12:57,468 ERROR [RecoveryController] Recovery error
> javax.transaction.xa.XAException
>         at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:705)
>         at org.apache.geronimo.transaction.manager.WrapperNamedXAResource.recove
> r(WrapperNamedXAResource.java:74)
>         at org.apache.geronimo.transaction.manager.RecoveryImpl.recoverResourceM
> anager(RecoveryImpl.java:98)
>         at org.apache.geronimo.transaction.manager.TransactionManagerImpl.recove
> rResourceManager(TransactionManagerImpl.java:352)
>         at org.apache.geronimo.connector.outbound.AbstractConnectionManager.doRe
> covery(AbstractConnectionManager.java:70)
>         at org.apache.geronimo.connector.outbound.ManagedConnectionFactoryWrappe
> r.doStart(ManagedConnectionFactoryWrapper.java:166)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanI
> nstance.java:998)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart
> (GBeanInstanceState.java:268)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInsta
> nceState.java:102)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.j
> ava:541)
>         at org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GB
> eanDependency.java:111)
>         at org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDepe
> ndency.java:146)
>         at org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDepe
> ndency.java:120)
>         at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEve
> nt(BasicLifecycleMonitor.java:176)
>         at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(Bas
> icLifecycleMonitor.java:44)
>         at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBr
> oadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart
> (GBeanInstanceState.java:294)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInsta
> nceState.java:102)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(G
> BeanInstanceState.java:124)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanI
> nstance.java:555)
>         at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(Basi
> cKernel.java:379)
>         at org.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguratio
> nGBeans(ConfigurationUtil.java:456)
>         at org.apache.geronimo.kernel.config.KernelConfigurationManager.start(Ke
> rnelConfigurationManager.java:188)
>         at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startCon
> figuration(SimpleConfigurationManager.java:563)
>         at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startCon
> figuration(SimpleConfigurationManager.java:544)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(Refl
> ectionMethodInvoker.java:34)
>         at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperatio
> n.java:124)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.
> java:832)
>         at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:5
> 7)
>         at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperat
> ionInvoker.java:35)
>         at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(Pro
> xyMethodInterceptor.java:96)
>         at org.apache.geronimo.kernel.config.EditableConfigurationManager$$Enhan
> cerByCGLIB$$17b39900.startConfiguration(<generated>)
>         at org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartCom
> mand.java:67)
>         at java.lang.Thread.run(Thread.java:595)
> Exception during server startup:
> Starting Geronimo Application Server v2.1.4
> [**************************************  ]  97%  75s Starting console.dbpool...2
> 009-06-04 09:41:44,586 ERROR [RecoveryController] Recovery error
> javax.transaction.xa.XAException
>         at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:705)
>         at org.apache.geronimo.transaction.manager.WrapperNamedXAResource.recove
> r(WrapperNamedXAResource.java:74)
>         at org.apache.geronimo.transaction.manager.RecoveryImpl.recoverResourceM
> anager(RecoveryImpl.java:98)
>         at org.apache.geronimo.transaction.manager.TransactionManagerImpl.recove
> rResourceManager(TransactionManagerImpl.java:352)
>         at org.apache.geronimo.connector.outbound.AbstractConnectionManager.doRe
> covery(AbstractConnectionManager.java:70)
>         at org.apache.geronimo.connector.outbound.ManagedConnectionFactoryWrappe
> r.doStart(ManagedConnectionFactoryWrapper.java:166)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanI
> nstance.java:998)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart
> (GBeanInstanceState.java:268)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInsta
> nceState.java:102)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.j
> ava:541)
>         at org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GB
> eanDependency.java:111)
>         at org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDepe
> ndency.java:146)
>         at org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDepe
> ndency.java:120)
>         at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEve
> nt(BasicLifecycleMonitor.java:176)
>         at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(Bas
> icLifecycleMonitor.java:44)
>         at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBr
> oadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart
> (GBeanInstanceState.java:294)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInsta
> nceState.java:102)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(G
> BeanInstanceState.java:124)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanI
> nstance.java:555)
>         at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(Basi
> cKernel.java:379)
>         at org.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguratio
> nGBeans(ConfigurationUtil.java:456)
>         at org.apache.geronimo.kernel.config.KernelConfigurationManager.start(Ke
> rnelConfigurationManager.java:188)
>         at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startCon
> figuration(SimpleConfigurationManager.java:563)
>         at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(Refl
> ectionMethodInvoker.java:34)
>         at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperatio
> n.java:124)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.
> java:832)
>         at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:5
> 7)
>         at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperat
> ionInvoker.java:35)
>         at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(Pro
> xyMethodInterceptor.java:96)
>         at org.apache.geronimo.kernel.config.EditableConfigurationManager$$Enhan
> cerByCGLIB$$17b39900.startConfiguration(<generated>)
>         at org.apache.geronimo.system.main.EmbeddedDaemon.doStartup(EmbeddedDaem
> on.java:162)
>         at org.apache.geronimo.system.main.EmbeddedDaemon.execute(EmbeddedDaemon
> .java:79)
>         at org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(Ma
> inConfigurationBootstrapper.java:45)
>         at org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:67)
>         at org.apache.geronimo.cli.daemon.DaemonCLI.main(DaemonCLI.java:30)
> [

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.