I thought the problem was coming from a different component. I just retested it and yes, no matter the DB you are using, this portlet is not retrieving the info from the DB connection pool. It's a bug.
Let me know the JIRA # and I'll chime in with some extra info.

Cheers!
Hernan

Hernan Cunico wrote:
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




Reply via email to