[
https://issues.apache.org/jira/browse/TOMEE-2024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16522395#comment-16522395
]
Romain Manni-Bucau commented on TOMEE-2024:
-------------------------------------------
[~gerdogdu] we should probably rework the logs in that area to be more explicit
and easier to understand, for now if you don't know the spec it is hard to
follow. A simple RESOURCE_LOCAL without datasource unit is a pain for a lot of
users so tempted to keep it.
> Misleading log entries
> ----------------------
>
> 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
(v7.6.3#76005)