You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Svetlin Zarev (JIRA)" <ji...@apache.org> on 2017/03/14 13:17:41 UTC

[jira] [Created] (TOMEE-2024) Misleading log enties

Svetlin Zarev created TOMEE-2024:
------------------------------------

             Summary: Misleading log enties
                 Key: TOMEE-2024
                 URL: https://issues.apache.org/jira/browse/TOMEE-2024
             Project: TomEE
          Issue Type: Bug
    Affects Versions: 7.0.3, 7.0.4
            Reporter: Svetlin Zarev
            Priority: Minor


Assembler:1420-1454:
{code}
            final String jtaWithJavaAndSlash = replaceJavaAndSlash(unit.getJtaDataSource());
            for (final String potentialName : asList(prefix + jtaWithJavaAndSlash, originalJtaDataSource, jtaWithJavaAndSlash)) {
                if(potentialName == null) {
                    // If unit.getJtaDataSource() is null, one of the potentialName is also null.
                    continue;
                }
                final ResourceInfo jtaInfo = configFactory.getResourceInfo(potentialName);
                if (jtaInfo != null) {
                    if (!"false".equalsIgnoreCase(jtaInfo.properties.getProperty("JtaManaged")) // don't test true since it can be missing
                            && (jtaInfo.types.contains("DataSource") || jtaInfo.types.contains(DataSource.class.getName()))) {
                        jtaDataSourceId = jtaInfo.id;
                        break;
                    } else {
                        logger.warning("Found matching datasource: " + jtaInfo.id + " but this one is not a JTA datasource");
                    }
                }
            }

            final String nonJtaWithJavaAndSlash = replaceJavaAndSlash(unit.getNonJtaDataSource());
            for (final String potentialName : asList(prefix + nonJtaWithJavaAndSlash, originalNonJtaDataSource, nonJtaWithJavaAndSlash)) {
                if(potentialName == null) {
                    // If unit.getNonJtaDataSource() is null, one of the potentialName is also null.
                    continue;
                }
                final ResourceInfo info = configFactory.getResourceInfo(potentialName);
                if (info != null) {
                    if (!"true".equalsIgnoreCase(info.properties.getProperty("JtaManaged"))
                            && (info.types.contains("DataSource") || info.types.contains(DataSource.class.getName()))) {
                        nonJtaDataSourceId = info.id;
                        break;
                    } else {
                        logger.warning("Found matching datasource: " + info.id + " but this one is a JTA datasource");
                    }
                }
            }
{code}

The two warnings are very misleading, because it prints that my JTA data-source is NON JTA one, and my non-jta is jta data-source when my service provider does not have  "javax.sql.DataSource" in the "types" property.

Also IMO when I explicitly set the service provider it should not matter what "types" it has in the service-jar.xml.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)