[
https://issues.jboss.org/browse/WFLY-7554?page=com.atlassian.jira.plugin....
]
Stefan Lindner commented on WFLY-7554:
--------------------------------------
The problem arises if MySuperClass is not part of the deplomyment unit of MyClass.
This means:
# MySuperClass is part of say "common-lib.jar". This is a module in
.../modules/my/common-lib/...
# MyClass is part of a deployment unit, say "my-deployment.jar", in
standalone/deployments
# my-deplymnet.jar references common-lib.jar
The question is: is this intended by the standard that only says something about
{quote}@AccessTimeout can be specified on a business method or on a bean class (or
super-class){quote}
and
{quote}Access timeouts for a singleton session bean only apply to methods eligible for
concurrency locks.{quote}
So the methods of MySuperClass might not be "eligible" but the annotations at
class level sould be. Or did I missunderstood this totally?
Singleton: @AccessTimeout and @Lock on superclass method not
-------------------------------------------------------------
Key: WFLY-7554
URL:
https://issues.jboss.org/browse/WFLY-7554
Project: WildFly
Issue Type: Bug
Components: EJB
Affects Versions: 9.0.2.Final, 10.1.0.Final
Environment: Win7_64, Oracle Java 8/102
Reporter: Stefan Lindner
Assignee: Stuart Douglas
{code:java}
@AccessTimeout(value=54321)
class MySuperclass {
@AccessTimeout(value=1200000000000L)
public void whileBlocked() {....}
}
@Singleton
@Startup
@ConcurrencyManagement(ConcurrencyManagementType.CONTAINER)
@DependsOn("BenutzerControllerImpl")
@AccessTimeout(value=54321)
@Lock(LockType.READ)
class MyClass extends MySuperclass {
@Lock(LockType.WRITE)
public void myBlocker() {....}
}
{code}
Calling method {code:java}whileBlocked{code} when another thread has called
{code:java}myBlocker{code} leads to Exception
javax.ejb.ConcurrentAccessTimeoutException: WFLYEJB0241: EJB 3.1 PFD2 4.8.5.5.1
concurrent access timeout on MyClass - could not obtain lock within 5000MILLISECONDS
The standard says:
{quote}The AccessTimeout annotation can be specified on a business method or on a bean
class (or superclass).
{quote}
In short:
# @AccessTimeout annotations on bean's class or method work as expected
# Annotations on superclass do not
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)