2010-06-10 7 views
2

Когда Atomikos настроен с помощью Spring, файл jta.properties или transaction.properties не требуется. Тем не менее, Atomikos начинается с последующими сообщениями, выводимых на STDERR:Как удалить/закрыть сообщение об ошибке запуска Atomikos?

No properties path set - looking for transactions.properties in classpath... 
transactions.properties not found - looking for jta.properties in classpath... 
Failed to open transactions properties file - using default values 

Это делает его похожим на конфигурацию Spring не брали - хотя, видимо, все в порядке. Кто-нибудь знает, как избавиться от этого, поэтому я не спрашиваю об этом 1.000 раз?

Есть ли способ перенаправить stderr от конкретного компонента или банки?

ответ

4

Вам необходимо установить системное свойство com.atomikos.icatch.hide_init_file_path на любое значение. Сделайте это в командной строке java. В мавена это можно сделать, передав аргумент командной строки для безошибочный следующим образом:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <configuration> 
     <argLine>-Dcom.atomikos.icatch.hide_init_file_path=true</argLine> 
    </configuration> 
</plugin> 

Update: В пределах файла конфигурации Spring, вы можете установить свойство как это:

<bean id="atomikosSystemProps" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> 
    <property name="targetObject"> 
     <!-- System.getProperties() --> 
     <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> 
      <property name="targetClass" value="java.lang.System" /> 
      <property name="targetMethod" value="getProperties" /> 
     </bean> 
    </property> 
    <property name="targetMethod" value="putAll" /> 
    <property name="arguments"> 
     <!-- The new Properties --> 
     <util:properties> 
      <prop key="com.atomikos.icatch.hide_init_file_path">true</prop> 
     </util:properties> 
    </property> 
</bean> 

Только не забудьте сделайте ваши факсимиты Atomikos «зависимыми» от этого компонента, чтобы порядок экземпляра был правильным.

1

Журнал Atomicos с SLF4J. Если только эта зависимость регистрируется с помощью SLF4J, вы можете использовать связующее устройство NOP SLF4J, и ничего не будет зарегистрировано. Наверное, не то, что вы хотите, но очень просто.

Вы можете настроить брандмауэр SLF4J для игнорирования сообщений журнала в определенных пакетах. Пример с Logback как SLF4J»бэкэндом регистратор:

<logger name="com.atomikos.something" level="OFF"/> 

Я написал учебник о SLF4J и различных серверных лесорубах here.

+0

Unfortuneatly, Atomikos не заходит на консоль, их печать на stderr. На мой взгляд, это ошибка, но в то же время мне нужно избавиться от этого! Благодарю. – HDave

+0

Вы используете реализацию SIMFLE SLF4J? Из [Javadoc] (http://slf4j.org/api/org/slf4j/impl/SimpleLogger.html «SimpleLogger»): простая (и прямая) реализация, которая регистрирует сообщения уровня INFO или выше на консоли (System .err). – Espen

 Смежные вопросы

  • Нет связанных вопросов^_^