great to see you find a workaround. Not sure I understand what you copied and
pasted though (the connection parameters one by one!?)
Either way this seems to be a bug, could you open a JIRA for this issue?
I'm about to test this config with different databases.
Cheers!
Hernan
Torsten Krall wrote:
First I tried to select the global database-pool to be used for the
security-realm via the combobox. That led to the exception within the test.
Now I tried the second way:
I opened the configuration of the global database-pool. Then did I copy
everything manually into the form to create the security-realm
(copy&paste). This works :-)
But that must be a bug. A ready configured database-pool must work.
Torsten
Torsten Krall schrieb:
Hi,
thanks for your answer.
No, I am using mysql.
The test of the datapool-creation-wizard told me:
Test Result: Connected to MySQL 5.1.11-beta-Debian_1-log
Seems to be correct.
This is the generated plan:
<?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>tkldienstplanpool</dep:artifactId>
<dep:version>1.0</dep:version>
<dep:type>rar</dep:type>
</dep:moduleId>
<dep:dependencies>
<dep:dependency>
<dep:groupId>mysql</dep:groupId>
<dep:artifactId>mysql-connector-java</dep:artifactId>
<dep:version>3.1.12</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>tkldienstplanpool</name>
<config-property-setting
name="Driver">com.mysql.jdbc.Driver</config-property-setting>
<config-property-setting
name="Password">XXXX</config-property-setting>
<config-property-setting
name="UserName">XXXX</config-property-setting>
<config-property-setting
name="ConnectionURL">jdbc:mysql://somewhereinthesea:3306/dbuser</config-property-setting>
<connectionmanager>
<local-transaction/>
<single-pool>
<max-size>10</max-size>
<min-size>0</min-size>
<match-one/>
</single-pool>
</connectionmanager>
</connectiondefinition-instance>
</connection-definition>
</outbound-resourceadapter>
</resourceadapter>
</connector>
Best regards,
Torsten
Hernan Cunico schrieb:
Hi Torsten,
I assume you are using the embedded Derby db, there seems to be a
problem with the tranql connector support for the current version of
Derby we have in that build.
Plz confirm the DB you are using.
Cheers!
Hernan
Torsten Krall wrote:
Hello,
I created and deployed a global database pool "tkldienstplanpool", the
test worked fine.
Now I want to use this database pool within a sql-security-realm but the
test throws following exception:
java.lang.IllegalArgumentException: interface
org.tranql.connector.DissociatableConnectionHandle is not visible from
class loader
Why does the test of the database pool run fine but the security-realm
does not work?
Best regards,
Torsten Krall
Entire stacktrace:
13:17:26,455 INFO [DatabasePoolPortlet] Deployment completed
successfully!
13:31:56,477 WARN [SecurityRealmPortlet] Testing with options
{groupSelect=SELECT d1.username, d2.name as gruppe FROM
dp_realm_user_group d
INNER JOIN dp_realm_user d1 ON d1.id=d.user INNER JOIN dp_realm_group
d2 ON d2.id=d.group WHERE d1.username=?, org.apache.geronimo.security
.realm.GenericSecurityRealm.CLASSLOADER=[org.apache.geronimo.kernel.classloader.JarFileClassLoader
id=org.apache.geronimo.configs/webconsole
-tomcat_standard.war/2.0-M2/car], dataSourceApplication=null,
userSelect=select username, password from dp_realm_user where
username=?, data
SourceName=tkldienstplanpool3}
13:32:10,276 WARN [SecurityRealmPortlet] Test login failed
javax.security.auth.login.LoginException: SQL error
at
org.apache.geronimo.security.realm.providers.SQLLoginModule.login(SQLLoginModule.java:257)
at
org.apache.geronimo.console.util.KernelManagementHelper.testLoginModule(KernelManagementHelper.java:423)
at
org.apache.geronimo.console.util.PortletManager.testLoginModule(PortletManager.java:160)
at
org.apache.geronimo.console.securitymanager.realm.SecurityRealmPortlet.actionAttemptLogin(SecurityRealmPortlet.java:334)
at
org.apache.geronimo.console.securitymanager.realm.SecurityRealmPortlet.processAction(SecurityRealmPortlet.java:215)
at
org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:229)
at
org.apache.pluto.core.PortletServlet.doGet(PortletServlet.java:158)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at
org.apache.pluto.core.PortletServlet.service(PortletServlet.java:153)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:590)
at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
at
org.apache.pluto.invoker.impl.PortletInvokerImpl.invoke(PortletInvokerImpl.java:120)
at
org.apache.pluto.invoker.impl.PortletInvokerImpl.action(PortletInvokerImpl.java:68)
at
org.apache.pluto.PortletContainerImpl.processPortletAction(PortletContainerImpl.java:164)
at
org.apache.pluto.portalImpl.core.PortletContainerWrapperImpl.processPortletAction(PortletContainerWrapperImpl.java:82)
at org.apache.pluto.portalImpl.Servlet.doGet(Servlet.java:227)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSubjectValve.java:56)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at
org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:338)
at
org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:47)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:517)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.sql.SQLException
at
org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:61)
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(ConnectorMethodInterceptor.java:54)
at
$javax.sql.DataSource$$EnhancerByCGLIB$$8b609c1.getConnection(<generated>)
at
org.apache.geronimo.security.realm.providers.SQLLoginModule.login(SQLLoginModule.java:194)
... 38 more
Caused by: javax.resource.ResourceException: Unable to construct
connection proxy
at
org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTrackingCoordinator.proxyConnection(ConnectionTrackingCoordin
ator.java:238)
at
org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTrackingCoordinator.handleObtained(ConnectionTrackingCoordina
tor.java:157)
at
org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTrackingCoordinator$$FastClassByCGLIB$$5d33aabf.invoke(<gener
ated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:127)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:820)
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$$51d42e0c.handleObtained(<generated>)
at
org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.getConnection(ConnectionTrackingInterceptor.java:67)
at
org.apache.geronimo.connector.outbound.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:61)
at
org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:56)
... 43 more
Caused by: java.lang.IllegalArgumentException: interface
org.tranql.connector.DissociatableConnectionHandle is not visible from
class loader
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:353)
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581)
at
org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTrackingCoordinator.proxyConnection(ConnectionTrackingCoordin
ator.java:230)
... 56 more