[JBoss JIRA] (WFLY-13801) JWT Revoke Feature
by Paulo Cesar Silva Reis (Jira)
Paulo Cesar Silva Reis created WFLY-13801:
---------------------------------------------
Summary: JWT Revoke Feature
Key: WFLY-13801
URL: https://issues.redhat.com/browse/WFLY-13801
Project: WildFly
Issue Type: Feature Request
Components: Security
Affects Versions: 20.0.1.Final
Reporter: Paulo Cesar Silva Reis
Assignee: Darran Lofthouse
Hi,
We've been working with JWT using Elytron and we would like to know why there isn't a way to REVOKE tokens. Reading the documentation it seems elytron doesn't provide a way to double-check whether that valid JWT still has access to the application. If a class could be instantiate and a method called, the application could validate it, returning a boolean (indicating whether the user can proceed) or throwing an exception when permission is denied.
If such feature isn't present, even though we blacklist the token (logging him out), the user already logged in and that can be a security breach.
Something like this would be great:
{code:java}
/subsystem=elytron/token-realm=app-realm:add(jwt={issuer=["issuer"],audience=["app"],key-store=app.ks,certificate="alias", validator="com.validator.TokenValidator"},principal-claim="sub"){code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 10 months
[JBoss JIRA] (WFLY-13799) Fix JPA 2LC compatibility with configurations missing a pending-puts cache configuration
by Paul Ferraro (Jira)
Paul Ferraro created WFLY-13799:
-----------------------------------
Summary: Fix JPA 2LC compatibility with configurations missing a pending-puts cache configuration
Key: WFLY-13799
URL: https://issues.redhat.com/browse/WFLY-13799
Project: WildFly
Issue Type: Bug
Components: Clustering
Affects Versions: No Release
Reporter: Paul Ferraro
Assignee: Paul Ferraro
To restore JPA 2LC compatibility with configuration from previous releases that are missing a pending-puts cache configuration.
To do this, we should only establish a deployment dependency on this cache configuration if the requisite capability exists. This will allow the deployment to succeed.
The will log a warning from Infinispan region factory about the missing configuration and this cache configuration will fall back to internal defaults.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 10 months
[JBoss JIRA] (WFLY-13131) Re-enable AbstractDatabasePersistenceWebFailoverTestCase#testGracefulSimpleFailover
by Radoslav Husar (Jira)
[ https://issues.redhat.com/browse/WFLY-13131?page=com.atlassian.jira.plugi... ]
Radoslav Husar updated WFLY-13131:
----------------------------------
Affects Version/s: 20.0.1.Final
> Re-enable AbstractDatabasePersistenceWebFailoverTestCase#testGracefulSimpleFailover
> -----------------------------------------------------------------------------------
>
> Key: WFLY-13131
> URL: https://issues.redhat.com/browse/WFLY-13131
> Project: WildFly
> Issue Type: Task
> Components: Clustering
> Affects Versions: 19.0.0.Beta2, 20.0.0.Final, 20.0.1.Final
> Reporter: Radoslav Husar
> Assignee: Radoslav Husar
> Priority: Major
>
> The implementation for {{org.jboss.as.test.clustering.cluster.web.persistence.AbstractDatabasePersistenceWebFailoverTestCase#testGracefulSimpleFailover}} is now no-op since it fails intermittently.
> The idea is to rework to use external database process since H2's AUTO_SERVER doesn't handle server restarts reliably.
> The test fail manifests as
> {noformat}
> java.lang.AssertionError: expected:<200> but was:<500>
> {noformat}
> and the {{target/h2/web-sessions.trace.db}} contains the following:
> {noformat}
> 2020-02-19 11:43:28 database: opening /Users/rhusar/git/wildfly/testsuite/integration/clustering/target/h2/web-sessions
> org.h2.message.DbException: Error opening database: "Sleep interrupted" [8000-197]
> at org.h2.message.DbException.get(DbException.java:168)
> at org.h2.store.FileLock.getExceptionFatal(FileLock.java:428)
> at org.h2.store.FileLock.sleep(FileLock.java:423)
> at org.h2.store.FileLock.lockFile(FileLock.java:333)
> at org.h2.store.FileLock.lock(FileLock.java:108)
> at org.h2.engine.Database.open(Database.java:674)
> at org.h2.engine.Database.openDatabase(Database.java:286)
> at org.h2.engine.Database.<init>(Database.java:280)
> at org.h2.engine.Engine.openSession(Engine.java:66)
> at org.h2.engine.Engine.openSession(Engine.java:179)
> at org.h2.engine.Engine.createSessionAndValidate(Engine.java:157)
> at org.h2.engine.Engine.createSession(Engine.java:140)
> at org.h2.engine.Engine.createSession(Engine.java:28)
> at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:351)
> at org.h2.engine.SessionRemote.autoReconnect(SessionRemote.java:518)
> at org.h2.engine.SessionRemote.removeServer(SessionRemote.java:483)
> at org.h2.command.CommandRemote.prepare(CommandRemote.java:101)
> at org.h2.command.CommandRemote.<init>(CommandRemote.java:51)
> at org.h2.engine.SessionRemote.prepareCommand(SessionRemote.java:493)
> at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1247)
> at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:76)
> at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:694)
> at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.doPrepareStatement(BaseWrapperManagedConnection.java:761)
> at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.prepareStatement(BaseWrapperManagedConnection.java:747)
> at org.jboss.jca.adapters.jdbc.WrappedConnection$4.produce(WrappedConnection.java:478)
> at org.jboss.jca.adapters.jdbc.WrappedConnection$4.produce(WrappedConnection.java:476)
> at org.jboss.jca.adapters.jdbc.SecurityActions.executeInTccl(SecurityActions.java:97)
> at org.jboss.jca.adapters.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:476)
> at org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore.load(JdbcStringBasedStore.java:351)
> at org.infinispan.persistence.spi.SegmentedAdvancedLoadWriteStore.load(SegmentedAdvancedLoadWriteStore.java:46)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.loadFromAllStores(PersistenceManagerImpl.java:642)
> at org.infinispan.persistence.internal.PersistenceUtil.loadAndCheckExpiration(PersistenceUtil.java:139)
> at org.infinispan.persistence.internal.PersistenceUtil.lambda$loadAndComputeInDataContainer$0(PersistenceUtil.java:97)
> at org.infinispan.container.impl.AbstractInternalDataContainer.lambda$compute$3(AbstractInternalDataContainer.java:231)
> at java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1853)
> at org.infinispan.container.impl.AbstractInternalDataContainer.compute(AbstractInternalDataContainer.java:230)
> at org.infinispan.persistence.internal.PersistenceUtil.loadAndComputeInDataContainer(PersistenceUtil.java:119)
> at org.infinispan.persistence.internal.PersistenceUtil.loadAndStoreInDataContainer(PersistenceUtil.java:53)
> at org.infinispan.interceptors.impl.CacheLoaderInterceptor.loadInContext(CacheLoaderInterceptor.java:333)
> at org.infinispan.interceptors.impl.CacheLoaderInterceptor.loadIfNeeded(CacheLoaderInterceptor.java:328)
> at org.infinispan.interceptors.impl.CacheLoaderInterceptor.visitDataCommand(CacheLoaderInterceptor.java:195)
> at org.infinispan.interceptors.impl.CacheLoaderInterceptor.visitGetKeyValueCommand(CacheLoaderInterceptor.java:130)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:39)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenAccept(BaseAsyncInterceptor.java:98)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitDataReadCommand(EntryWrappingInterceptor.java:204)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitGetKeyValueCommand(EntryWrappingInterceptor.java:192)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:39)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54)
> at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitGetKeyValueCommand(DDAsyncInterceptor.java:106)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:39)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54)
> at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitGetKeyValueCommand(DDAsyncInterceptor.java:106)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:39)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54)
> at org.infinispan.interceptors.locking.PessimisticLockingInterceptor.visitDataReadCommand(PessimisticLockingInterceptor.java:61)
> at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitGetKeyValueCommand(AbstractLockingInterceptor.java:107)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:39)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54)
> at org.infinispan.interceptors.impl.TxInterceptor.visitGetKeyValueCommand(TxInterceptor.java:318)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:39)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:183)
> at org.infinispan.interceptors.impl.BaseStateTransferInterceptor.handleReadCommand(BaseStateTransferInterceptor.java:193)
> at org.infinispan.interceptors.impl.BaseStateTransferInterceptor.visitGetKeyValueCommand(BaseStateTransferInterceptor.java:168)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:39)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:123)
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:56)
> at org.infinispan.interceptors.impl.BatchingInterceptor.handleDefault(BatchingInterceptor.java:69)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitGetKeyValueCommand(DDAsyncInterceptor.java:106)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:39)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitCommand(DDAsyncInterceptor.java:50)
> at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:248)
> at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:527)
> at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:520)
> at org.infinispan.cache.impl.AbstractDelegatingCache.get(AbstractDelegatingCache.java:438)
> at org.infinispan.cache.impl.EncoderCache.get(EncoderCache.java:660)
> at org.infinispan.cache.impl.AbstractDelegatingCache.get(AbstractDelegatingCache.java:438)
> at org.wildfly.clustering.web.infinispan.session.InfinispanSessionMetaDataFactory.getValue(InfinispanSessionMetaDataFactory.java:100)
> at org.wildfly.clustering.web.infinispan.session.InfinispanSessionMetaDataFactory.findValue(InfinispanSessionMetaDataFactory.java:88)
> at org.wildfly.clustering.web.infinispan.session.InfinispanSessionMetaDataFactory.findValue(InfinispanSessionMetaDataFactory.java:56)
> at org.wildfly.clustering.web.infinispan.session.SessionExpirationScheduler.schedule(SessionExpirationScheduler.java:61)
> at org.wildfly.clustering.web.infinispan.session.SessionExpirationScheduler.schedule(SessionExpirationScheduler.java:45)
> at org.wildfly.clustering.web.infinispan.session.InfinispanSessionManagerFactory$ScheduleExpirationTask.run(InfinispanSessionManagerFactory.java:286)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at org.jboss.as.clustering.context.ContextReferenceExecutor.execute(ContextReferenceExecutor.java:49)
> at org.jboss.as.clustering.context.ContextualExecutor$1.run(ContextualExecutor.java:70)
> at java.lang.Thread.run(Thread.java:748)
> at org.jboss.threads.JBossThread.run(JBossThread.java:485)
> Caused by: org.h2.jdbc.JdbcSQLException: Error opening database: "Sleep interrupted" [8000-197]
> at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
> ... 93 more
> Caused by: java.lang.InterruptedException: sleep interrupted
> at java.lang.Thread.sleep(Native Method)
> at org.h2.store.FileLock.sleep(FileLock.java:421)
> ... 90 more
> {noformat}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 10 months
[JBoss JIRA] (WFLY-13131) Re-enable AbstractDatabasePersistenceWebFailoverTestCase#testGracefulSimpleFailover
by Radoslav Husar (Jira)
[ https://issues.redhat.com/browse/WFLY-13131?page=com.atlassian.jira.plugi... ]
Radoslav Husar updated WFLY-13131:
----------------------------------
Affects Version/s: 20.0.0.Final
> Re-enable AbstractDatabasePersistenceWebFailoverTestCase#testGracefulSimpleFailover
> -----------------------------------------------------------------------------------
>
> Key: WFLY-13131
> URL: https://issues.redhat.com/browse/WFLY-13131
> Project: WildFly
> Issue Type: Task
> Components: Clustering
> Affects Versions: 19.0.0.Beta2, 20.0.0.Final
> Reporter: Radoslav Husar
> Assignee: Radoslav Husar
> Priority: Major
>
> The implementation for {{org.jboss.as.test.clustering.cluster.web.persistence.AbstractDatabasePersistenceWebFailoverTestCase#testGracefulSimpleFailover}} is now no-op since it fails intermittently.
> The idea is to rework to use external database process since H2's AUTO_SERVER doesn't handle server restarts reliably.
> The test fail manifests as
> {noformat}
> java.lang.AssertionError: expected:<200> but was:<500>
> {noformat}
> and the {{target/h2/web-sessions.trace.db}} contains the following:
> {noformat}
> 2020-02-19 11:43:28 database: opening /Users/rhusar/git/wildfly/testsuite/integration/clustering/target/h2/web-sessions
> org.h2.message.DbException: Error opening database: "Sleep interrupted" [8000-197]
> at org.h2.message.DbException.get(DbException.java:168)
> at org.h2.store.FileLock.getExceptionFatal(FileLock.java:428)
> at org.h2.store.FileLock.sleep(FileLock.java:423)
> at org.h2.store.FileLock.lockFile(FileLock.java:333)
> at org.h2.store.FileLock.lock(FileLock.java:108)
> at org.h2.engine.Database.open(Database.java:674)
> at org.h2.engine.Database.openDatabase(Database.java:286)
> at org.h2.engine.Database.<init>(Database.java:280)
> at org.h2.engine.Engine.openSession(Engine.java:66)
> at org.h2.engine.Engine.openSession(Engine.java:179)
> at org.h2.engine.Engine.createSessionAndValidate(Engine.java:157)
> at org.h2.engine.Engine.createSession(Engine.java:140)
> at org.h2.engine.Engine.createSession(Engine.java:28)
> at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:351)
> at org.h2.engine.SessionRemote.autoReconnect(SessionRemote.java:518)
> at org.h2.engine.SessionRemote.removeServer(SessionRemote.java:483)
> at org.h2.command.CommandRemote.prepare(CommandRemote.java:101)
> at org.h2.command.CommandRemote.<init>(CommandRemote.java:51)
> at org.h2.engine.SessionRemote.prepareCommand(SessionRemote.java:493)
> at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1247)
> at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:76)
> at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:694)
> at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.doPrepareStatement(BaseWrapperManagedConnection.java:761)
> at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.prepareStatement(BaseWrapperManagedConnection.java:747)
> at org.jboss.jca.adapters.jdbc.WrappedConnection$4.produce(WrappedConnection.java:478)
> at org.jboss.jca.adapters.jdbc.WrappedConnection$4.produce(WrappedConnection.java:476)
> at org.jboss.jca.adapters.jdbc.SecurityActions.executeInTccl(SecurityActions.java:97)
> at org.jboss.jca.adapters.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:476)
> at org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore.load(JdbcStringBasedStore.java:351)
> at org.infinispan.persistence.spi.SegmentedAdvancedLoadWriteStore.load(SegmentedAdvancedLoadWriteStore.java:46)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.loadFromAllStores(PersistenceManagerImpl.java:642)
> at org.infinispan.persistence.internal.PersistenceUtil.loadAndCheckExpiration(PersistenceUtil.java:139)
> at org.infinispan.persistence.internal.PersistenceUtil.lambda$loadAndComputeInDataContainer$0(PersistenceUtil.java:97)
> at org.infinispan.container.impl.AbstractInternalDataContainer.lambda$compute$3(AbstractInternalDataContainer.java:231)
> at java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1853)
> at org.infinispan.container.impl.AbstractInternalDataContainer.compute(AbstractInternalDataContainer.java:230)
> at org.infinispan.persistence.internal.PersistenceUtil.loadAndComputeInDataContainer(PersistenceUtil.java:119)
> at org.infinispan.persistence.internal.PersistenceUtil.loadAndStoreInDataContainer(PersistenceUtil.java:53)
> at org.infinispan.interceptors.impl.CacheLoaderInterceptor.loadInContext(CacheLoaderInterceptor.java:333)
> at org.infinispan.interceptors.impl.CacheLoaderInterceptor.loadIfNeeded(CacheLoaderInterceptor.java:328)
> at org.infinispan.interceptors.impl.CacheLoaderInterceptor.visitDataCommand(CacheLoaderInterceptor.java:195)
> at org.infinispan.interceptors.impl.CacheLoaderInterceptor.visitGetKeyValueCommand(CacheLoaderInterceptor.java:130)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:39)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenAccept(BaseAsyncInterceptor.java:98)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitDataReadCommand(EntryWrappingInterceptor.java:204)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitGetKeyValueCommand(EntryWrappingInterceptor.java:192)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:39)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54)
> at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitGetKeyValueCommand(DDAsyncInterceptor.java:106)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:39)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54)
> at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitGetKeyValueCommand(DDAsyncInterceptor.java:106)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:39)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54)
> at org.infinispan.interceptors.locking.PessimisticLockingInterceptor.visitDataReadCommand(PessimisticLockingInterceptor.java:61)
> at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitGetKeyValueCommand(AbstractLockingInterceptor.java:107)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:39)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54)
> at org.infinispan.interceptors.impl.TxInterceptor.visitGetKeyValueCommand(TxInterceptor.java:318)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:39)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:183)
> at org.infinispan.interceptors.impl.BaseStateTransferInterceptor.handleReadCommand(BaseStateTransferInterceptor.java:193)
> at org.infinispan.interceptors.impl.BaseStateTransferInterceptor.visitGetKeyValueCommand(BaseStateTransferInterceptor.java:168)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:39)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:123)
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:56)
> at org.infinispan.interceptors.impl.BatchingInterceptor.handleDefault(BatchingInterceptor.java:69)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitGetKeyValueCommand(DDAsyncInterceptor.java:106)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:39)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitCommand(DDAsyncInterceptor.java:50)
> at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:248)
> at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:527)
> at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:520)
> at org.infinispan.cache.impl.AbstractDelegatingCache.get(AbstractDelegatingCache.java:438)
> at org.infinispan.cache.impl.EncoderCache.get(EncoderCache.java:660)
> at org.infinispan.cache.impl.AbstractDelegatingCache.get(AbstractDelegatingCache.java:438)
> at org.wildfly.clustering.web.infinispan.session.InfinispanSessionMetaDataFactory.getValue(InfinispanSessionMetaDataFactory.java:100)
> at org.wildfly.clustering.web.infinispan.session.InfinispanSessionMetaDataFactory.findValue(InfinispanSessionMetaDataFactory.java:88)
> at org.wildfly.clustering.web.infinispan.session.InfinispanSessionMetaDataFactory.findValue(InfinispanSessionMetaDataFactory.java:56)
> at org.wildfly.clustering.web.infinispan.session.SessionExpirationScheduler.schedule(SessionExpirationScheduler.java:61)
> at org.wildfly.clustering.web.infinispan.session.SessionExpirationScheduler.schedule(SessionExpirationScheduler.java:45)
> at org.wildfly.clustering.web.infinispan.session.InfinispanSessionManagerFactory$ScheduleExpirationTask.run(InfinispanSessionManagerFactory.java:286)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at org.jboss.as.clustering.context.ContextReferenceExecutor.execute(ContextReferenceExecutor.java:49)
> at org.jboss.as.clustering.context.ContextualExecutor$1.run(ContextualExecutor.java:70)
> at java.lang.Thread.run(Thread.java:748)
> at org.jboss.threads.JBossThread.run(JBossThread.java:485)
> Caused by: org.h2.jdbc.JdbcSQLException: Error opening database: "Sleep interrupted" [8000-197]
> at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
> ... 93 more
> Caused by: java.lang.InterruptedException: sleep interrupted
> at java.lang.Thread.sleep(Native Method)
> at org.h2.store.FileLock.sleep(FileLock.java:421)
> ... 90 more
> {noformat}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 10 months
[JBoss JIRA] (WFLY-13798) Add a Galleon layer for embedded broker messaging
by Brian Stansberry (Jira)
[ https://issues.redhat.com/browse/WFLY-13798?page=com.atlassian.jira.plugi... ]
Brian Stansberry updated WFLY-13798:
------------------------------------
Description:
This issue is created to track the creation of a Galleon layer to make it easy to provide an embedded messaging broker.
The layer will provide a messaging-activemq subsystem with configuration like what WildFly has provided in the standard standalone-full.xml config file, except it will add configuration necessary to work nicely OOTB without the legacy security subsystem present. It will also provide ancillary configuration resources, e.g. socket-bindings. Necessary dependencies needed to support this use case, e.g. the resource-adapters subsystem, will also be provided.
was:
This issue is created to track the creation of a Galleon layer to make it easy to provide an embedded messaging broker.
The layer will provide a messaging-activemq subsystem with configuration like what WildFly has provided in the standard standalone-full.xml config file. It will also provide ancillary configuration resources, e.g. socket-bindings. Necessary dependencies needed to support this use case, e.g. the resource-adapters subsystem, will also be provided.
> Add a Galleon layer for embedded broker messaging
> -------------------------------------------------
>
> Key: WFLY-13798
> URL: https://issues.redhat.com/browse/WFLY-13798
> Project: WildFly
> Issue Type: Sub-task
> Components: Build System, JMS
> Reporter: Brian Stansberry
> Assignee: Emmanuel Hugonnet
> Priority: Major
>
> This issue is created to track the creation of a Galleon layer to make it easy to provide an embedded messaging broker.
> The layer will provide a messaging-activemq subsystem with configuration like what WildFly has provided in the standard standalone-full.xml config file, except it will add configuration necessary to work nicely OOTB without the legacy security subsystem present. It will also provide ancillary configuration resources, e.g. socket-bindings. Necessary dependencies needed to support this use case, e.g. the resource-adapters subsystem, will also be provided.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 10 months
[JBoss JIRA] (WFLY-13771) Create a Galleon layers for the messaging subsystem
by Fred Welland (Jira)
[ https://issues.redhat.com/browse/WFLY-13771?page=com.atlassian.jira.plugi... ]
Fred Welland commented on WFLY-13771:
-------------------------------------
I have a slightly different use case: For medium term code preservation, I want to recycle MDBs and some session EJBs (ear'ed up). I do not want an embedded broker and use a RAR. I'd want layers, for example "resource-adapters,datasources,cdi,ejb3", the last doesn't seem to exist. I really don't want a 'full' WF20x and would like to avoid have a bunch of web/http stuff/modules in my app that just needs to listen to a Q and process.
> Create a Galleon layers for the messaging subsystem
> ---------------------------------------------------
>
> Key: WFLY-13771
> URL: https://issues.redhat.com/browse/WFLY-13771
> Project: WildFly
> Issue Type: Feature Request
> Components: Build System, JMS
> Reporter: Yeray Borges Santana
> Assignee: Emmanuel Hugonnet
> Priority: Major
>
> We have three possible messaging-activemq configuration options that should be supplied via Galleon layers:
> # messaging-activemq subsystem configuration ready to be used as an Embedded broker. This configuration is useful to run quick demos only, it should not be used in production environments or cloud environments.
> # messaging-activemq subsystem configuration ready to be used with an external broker.
> # An empty messaging-activemq subsystem configuration and capabilities to deploy a Resource Adapter file to connect to an external broker. This .rar file has to be deployed by the user.
> The existing jms-activemq layer was meant to allow client-side JMS, it is almost covering the third option, however, the user should be able to deploy .rar files. The analysis document should clarify whether these capabilities should be included in a Galleon layer itself or by contrast, users should add the resource-adapters Galleon layer to provide it.
> Another point to clear up is if the Galleon layers will supply capabilities to invoke remote objects configured in the WildFly JNDI tree, hence the need for remoting naming.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 10 months
[JBoss JIRA] (WFLY-13515) Application does not fail when @Singleton @PostConstruct throws exception
by Brian Stansberry (Jira)
[ https://issues.redhat.com/browse/WFLY-13515?page=com.atlassian.jira.plugi... ]
Brian Stansberry commented on WFLY-13515:
-----------------------------------------
[~cfang] If PR 11711 resolves this can resolve the JIRA and coordinate with [~Takis] to get https://github.com/wildfly/wildfly/pull/13325 closed if it's no longer needed? Thanks.
> Application does not fail when @Singleton @PostConstruct throws exception
> -------------------------------------------------------------------------
>
> Key: WFLY-13515
> URL: https://issues.redhat.com/browse/WFLY-13515
> Project: WildFly
> Issue Type: Bug
> Components: EJB
> Affects Versions: 19.0.0.Final, 20.0.0.Beta1
> Reporter: Cheng Fang
> Assignee: Cheng Fang
> Priority: Major
> Labels: Regression, downstream_dependency
> Attachments: helloWorld.ear
>
>
> In EAP 6.4 , sub deployments were accessible before all Singleton's PostConstruct were finished, this was fixed via [1]. After this fix if an exception was thrown from PostConstruct, then the whole deployment was in a failed state as well. EAP 7.0 works the same as EAP 6.4 after the fix.
> In EAP 7.3/7.2/7.1 when the Singleton throws an exception, the sub deployments are accessible.
> [1] https://bugzilla.redhat.com/show_bug.cgi?id=1310908
> EJB 3.1 spec, section 4.8.1:
> {quote}
> If the Startup annotation appears on the Singleton bean class or if the Singleton has been designated via the deployment descriptor as requiring eager initialization, the container must initialize the Singleton bean instance during the application startup sequence. The container must initialize all such startup-time Singletons before any external client requests (that is, client requests originating outside of the application) are delivered to any enterprise bean components in the application.
> {quote}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 10 months