[
https://issues.apache.org/jira/browse/TOMEE-2851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Richard Zowalla closed TOMEE-2851.
----------------------------------
Resolution: Incomplete
Closing, as there is no reproducer and no follow-up since 2020. Please reopen
with details if it still happens on 10.x or 11.
> sometimes getting null when injecting TransactionSynchronizationRegistry /
> Injection data not found in JNDI context
> -------------------------------------------------------------------------------------------------------------------
>
> Key: TOMEE-2851
> URL: https://issues.apache.org/jira/browse/TOMEE-2851
> Project: TomEE
> Issue Type: Bug
> Components: TomEE Core Server
> Affects Versions: 8.0.1
> Environment: linux, java11
> Reporter: Emmanuel Touzery
> Priority: Major
>
> Hello,
> we're injecting TransactionSynchronizationRegistry in some error handling
> path in our application:
> @Resource
> private TransactionSynchronizationRegistry
> transactionSynchronizationRegistry;
> What we do is that we store some meta-data which is valid for the SQL
> transaction scope in that registry, so that if there is an error down the
> line, we can tie the error to this meta-data. And this works fine but after
> days of running a production workload, we get errors because this injection
> fails.
> We get this error concurrently on multiple threads:
> 17-Jun-2020 10:54:53.809 WARNING [managed-thread-18]
> org.apache.openejb.cdi.CdiResourceInjectionService.fillInjectionProperties
> Injection data not found in JNDI context:
> jndiName='comp/env/com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry',
>
> target=com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry17-Jun-2020
> 10:54:53.810 WARNING [managed-thread-8]
> org.apache.openejb.cdi.CdiResourceInjectionService.fillInjectionProperties
> Injection data not found in JNDI context:
> jndiName='comp/env/com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry',
>
> target=com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry
> 17-Jun-2020 10:54:53.810 WARNING [managed-thread-16]
> org.apache.openejb.cdi.CdiResourceInjectionService.fillInjectionProperties
> Injection data not found in JNDI context:
> jndiName='comp/env/com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry',
>
> target=com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry
> 17-Jun-2020 10:54:53.809 WARNING [managed-thread-7]
> org.apache.openejb.cdi.CdiResourceInjectionService.fillInjectionProperties
> Injection data not found in JNDI context:
> jndiName='comp/env/com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry',
>
> target=com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry
> 17-Jun-2020 10:54:53.811 WARNING [managed-thread-16]
> org.apache.openejb.cdi.CdiResourceInjectionService.fillInjectionProperties
> Injection data not found in JNDI context:
> jndiName='comp/env/com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry',
>
> target=com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry
> 17-Jun-2020 10:54:53.812 INFO [managed-thread-16]
> com.littransit.rabbitmq.RabbitChangesPublisher.handleEventInternal em:
> org.apache.openejb.persistence.JtaEntityManager@619cca3f - managed-thread-16
> 17-Jun-2020 10:54:53.812 WARNING [managed-thread-10]
> org.apache.openejb.cdi.CdiResourceInjectionService.fillInjectionProperties
> Injection data not found in JNDI context:
> jndiName='comp/env/com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry',
>
> target=com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry
> 17-Jun-2020 10:54:53.812 WARNING [managed-thread-18]
> org.apache.openejb.cdi.CdiResourceInjectionService.fillInjectionProperties
> Injection data not found in JNDI context:
> jndiName='comp/env/com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry',
>
> target=com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry
> And very shortly afterwards:
> 17-Jun-2020 10:54:53.814 SEVERE [managed-thread-16]
> com.littransit.rabbitmq.RabbitChangesPublisher.handleEventInternal Failed
> publishing rabbit message
> java.lang.NullPointerException
> at
> com.littransit.rabbitmq.RabbitChangesPublisher.writeRabbitOutboxAccountItem(RabbitChangesPublisher.java:50)
> And this is a NPE reading the transactionSynchronizationRegistry injected
> field.
> Shortly afterwards we see this issue again in other managed threads:
> 17-Jun-2020 10:54:53.836 WARNING [managed-thread-12]
> org.apache.openejb.cdi.CdiResourceInjectionService.fillInjectionProperties
> Injection data not found in JNDI context:
> jndiName='comp/env/com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry',
>
> target=com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry
> 17-Jun-2020 10:54:53.843 WARNING [managed-thread-12]
> org.apache.openejb.cdi.CdiResourceInjectionService.fillInjectionProperties
> Injection data not found in JNDI context:
> jndiName='comp/env/com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry',
>
> target=com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry
> 17-Jun-2020 10:54:53.844 WARNING [managed-thread-19]
> org.apache.openejb.cdi.CdiResourceInjectionService.fillInjectionProperties
> Injection data not found in JNDI context:
> jndiName='comp/env/com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry',
>
> target=com.littransit.rabbitmq.RabbitChangesPublisher/transactionSynchronizationRegistry
> This is happening in managed threads that we instanciated with:
> @Resource
> private ManagedThreadFactory factory;
> Then factory.newThread(...).
> We do not understand how come @Resource TransactionSynchronizationRegistry
> works, until it doesn't. We are using TOMEE 8.0.1 on java11. It seems to us
> like a bug, that the injection suddenly stops working.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)