db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-3669) ClientXADataSource fetched from JNDI not identical as originally bound; some properties have String "null" instead of null
Date Mon, 06 Jul 2009 14:50:14 GMT

     [ https://issues.apache.org/jira/browse/DERBY-3669?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Knut Anders Hatlen updated DERBY-3669:

    Attachment: d3669-1a.diff

The embedded data sources only add the non-null properties to the object returned by getReference(),
and there's a comment saying that the string "null" will be returned if a null is added. The
attached patch makes the client data sources use the same logic and removes the workaround
for the null/"null" issue in XAJNDITest.

I have only run XAJNDITest on the patch so far. Will run the rest of the regression test suite

> ClientXADataSource fetched from JNDI not identical as originally bound; some properties
have String "null" instead of null
> --------------------------------------------------------------------------------------------------------------------------
>                 Key: DERBY-3669
>                 URL: https://issues.apache.org/jira/browse/DERBY-3669
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Client
>    Affects Versions:
>            Reporter: Myrna van Lunteren
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: d3669-1a.diff
> Running the test XAJNDITest (from old xaJNDI.java) with network server  fails because
the XADataSource as bound to JNDI, and then fetch from JNDI are not identical.
> This is what the test does to get the XADataSource & to bind & get it from JNDI:
> ----------------
> ...
>             XADataSource xads = J2EEDataSource.getXADataSource();
>             String dbName = TestConfiguration.getCurrent().getDefaultDatabaseName();
>             JDBCDataSource.setBeanProperty(xads, "databaseName", dbName);
>             JDBCDataSource.setBeanProperty(xads, "createDatabase", "create");
>             JDBCDataSource.setBeanProperty(xads, "description", "XA DataSource");
>             Hashtable env = new Hashtable();
>             env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
>             // using a system property - these will have to be passed in somehow.
>             env.put(Context.PROVIDER_URL, "ldap://" + ldapServer + ":" + ldapPort);
>             env.put(Context.SECURITY_AUTHENTICATION, "simple");        
>             ic.rebind("cn=compareDS, o=" + dnString, xads);
>             javax.sql.XADataSource ads =
>                 (javax.sql.XADataSource)ic.lookup("cn=compareDS, o=" + dnString);
> ...
> -------------------
> Further checking showed that the fetched datasource has a String with value "null" rather
than a null value for the following properties:
> dataSourceName, connectionAttributes, traceDirectory, traceFile.

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

View raw message