[JBoss JIRA] Created: (JBAS-6290) EJB call fails from ServletContextListener
by Aul Kapoor (JIRA)
EJB call fails from ServletContextListener
------------------------------------------
Key: JBAS-6290
URL: https://jira.jboss.org/jira/browse/JBAS-6290
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: EJB3
Affects Versions: JBossAS-5.0.0.CR2
Reporter: Aul Kapoor
Assignee: Carlo de Wolf
Priority: Critical
Fix For: JBossAS-4.2.4.GA
Our application EAR has Web and App Module. The App Module has a stateless bean which needs to be called from the ServletContextListener of the WebModule. The jndi lookups return the EJBObject of the corresponding bean but when the method is invoked exception is raised as follows.
Caused by: java.lang.NullPointerException
at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:420)
at org.jboss.ejb3.remoting.IsLocalInterceptor.invokeLocal(IsLocalInterceptor.java:97)
at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:62)
at $Proxy192.invoke(Unknown Source)
at org.jboss.ejb3.proxy.handler.session.SessionSpecProxyInvocationHandlerBase.invoke(SessionSpecProxyInvocationHandlerBase.java:125)
After the EAR is deployed the EJB call can be successfully made through any servlet but fails if made from ServletContextListener
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 7 months
[JBoss JIRA] Created: (JBAS-6289) org.jboss.ejb.plugins.SecurityInterceptor causes login without corresponding logout
by Marco Schulze (JIRA)
org.jboss.ejb.plugins.SecurityInterceptor causes login without corresponding logout
-----------------------------------------------------------------------------------
Key: JBAS-6289
URL: https://jira.jboss.org/jira/browse/JBAS-6289
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: JBossAS-4.2.2.GA
Reporter: Marco Schulze
When changing the identity within a server method (e.g. in a session bean or message-driven bean), the org.jboss.ejb.plugins.SecurityInterceptor causes a login without a corresponding logout ever happening. The result is a memory leak.
In order to trace this problem down, I put some code into my login-module that dumps stack traces of commit() methods having been called without corresponding logout() calls. Here's one example stack trace:
java.lang.Exception: StackTrace
at org.nightlabs.jfire.jboss.authentication.JFireServerLoginModule.commit(JFireServerLoginModule.java:280)
at sun.reflect.GeneratedMethodAccessor111.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
at javax.security.auth.login.LoginContext.login(LoginContext.java:580)
at org.jboss.security.plugins.JaasSecurityManager.defaultLogin(JaasSecurityManager.java:603)
at org.jboss.security.plugins.JaasSecurityManager.authenticate(JaasSecurityManager.java:537)
at org.jboss.security.plugins.JaasSecurityManager.isValid(JaasSecurityManager.java:344)
at org.jboss.ejb.plugins.SecurityInterceptor.checkSecurityAssociation(SecurityInterceptor.java:211)
at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:135)
at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:132)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:107)
at org.jboss.ejb.SessionContainer.internalInvokeHome(SessionContainer.java:637)
at org.jboss.ejb.Container.invoke(Container.java:981)
at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:359)
at org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:133)
at $Proxy97.create(Unknown Source)
at org.nightlabs.jfire.asyncinvoke.AsyncInvokerBaseBean.onMessage(AsyncInvokerBaseBean.java:203)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:495)
at org.nightlabs.jfire.jboss.transaction.ForceRollbackOnExceptionInterceptor.invoke(ForceRollbackOnExceptionInterceptor.java:54)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:116)
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:109)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:402)
at org.jboss.ejb.Container.invoke(Container.java:960)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:987)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1287)
at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:266)
at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:891)
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:170)
at org.jboss.mq.SpySession.run(SpySession.java:323)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:194)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:761)
at java.lang.Thread.run(Thread.java:619)
The org.nightlabs.jfire.asyncinvoke.AsyncInvokerBaseBean.onMessage(...) does the following:
1) Create a LoginContext and perform login().
2) Obtain an EJB's LocalHome.
3) Obtain the EJB proxy from the LocalHome.
4) Call the EJB method.
5) logout() - corresponding to step 1.
Here's the source:
loginContext = new LoginContext(
LoginData.DEFAULT_SECURITY_PROTOCOL, createAuthCallbackHandler(ism, envelope));
loginContext.login();
try {
AsyncInvokerDelegateLocal invokerDelegate = null;
try {
invokerDelegate = AsyncInvokerDelegateUtil.getLocalHome().create();
} catch (Exception x) {
logger().fatal("Obtaining stateless session bean AsyncInvokerDelegateLocal failed!", x);
messageContext.setRollbackOnly();
}
if (invokerDelegate != null)
doInvoke(envelope, invokerDelegate);
} finally {
loginContext.logout();
}
In a similar scenario (not the stack trace above), I worked around this problem by manually pushing a RunAsIdentity into the SecurityAssociation. When a RunAsIdentity is present, the SecurityInterceptor does not perform a login.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 7 months
[JBoss JIRA] Created: (JBCL-77) Don't try to join with classloading space that does not exist
by Adrian Brock (JIRA)
Don't try to join with classloading space that does not exist
-------------------------------------------------------------
Key: JBCL-77
URL: https://jira.jboss.org/jira/browse/JBCL-77
Project: JBoss ClassLoader
Issue Type: Bug
Components: Dependencies
Affects Versions: JBossCL.2.0.1.GA
Reporter: Adrian Brock
Assignee: Adrian Brock
Fix For: JBossCL.2.0.2.GA, JBossCL.2.2.0.Alpha
If a classloading module has import-all=true we can't do a consistency check because its imports are not known.
This means the module has no classloading space.
Currently this leads to an NPE when such a module is resolved as an import of another module that is not imort-all=true
and it then tries to join with the non-existent space.
java.lang.NullPointerException
at org.jboss.classloading.spi.dependency.ClassLoadingSpace.resolve(ClassLoadingSpace.java:325)
at org.jboss.classloading.spi.dependency.ClassLoadingSpace.joinAndResolve(ClassLoadingSpace.java:122)
The joining should not happen if the resolved module doesn't belong to a classloading space,
i.e. import-all=true
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 7 months
[JBoss JIRA] Created: (JBAS-6218) "org.jboss.util.NotImplementedException:Use a custom InstanceClassFactory" error occurs when trying to create XA Datasource via ManagementView.applyTemplate()
by Ian Springer (JIRA)
"org.jboss.util.NotImplementedException:Use a custom InstanceClassFactory" error occurs when trying to create XA Datasource via ManagementView.applyTemplate()
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: JBAS-6218
URL: https://jira.jboss.org/jira/browse/JBAS-6218
Project: JBoss Application Server
Issue Type: Sub-task
Security Level: Public (Everyone can see)
Components: ProfileService
Reporter: Ian Springer
Assignee: Scott M Stark
Here's the full error:
17:15:52,368 WARN [AbstractManagedObjectPopulator] Cannot create String name from non-Simple property: ManagedProperty{
jndi-name,jndiName,metaType=SimpleMetaType:java.lang.String}, value=null
17:15:52,415 ERROR [ProfileJBossServerComponent] Unable to apply template [XADataSourceTemplate].
java.lang.reflect.UndeclaredThrowableException
at org.jboss.managed.plugins.factory.AbstractInstanceClassFactory.setValue(AbstractInstanceClassFactory.java:279
)
at org.jboss.managed.plugins.WritethroughManagedPropertyImpl.setValue(WritethroughManagedPropertyImpl.java:110)
at org.jboss.resource.deployers.management.DsDataSourceTemplate.writeTemplate(DsDataSourceTemplate.java:154)
at org.jboss.resource.deployers.management.DsDataSourceTemplate.applyTemplate(DsDataSourceTemplate.java:70)
at org.jboss.profileservice.management.ManagementViewImpl.applyTemplate(ManagementViewImpl.java:674)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:623)
at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:121)
at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
at org.jboss.profileservice.remoting.ProfileServiceInvocationHandler.invoke(ProfileServiceInvocationHandler.java
:67)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:908)
at org.jboss.remoting.transport.local.LocalClientInvoker.invoke(LocalClientInvoker.java:106)
at org.jboss.remoting.Client.invoke(Client.java:1708)
at org.jboss.remoting.Client.invoke(Client.java:612)
at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:60)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.remoting.MergeMetaDataInterceptor.invoke(MergeMetaDataInterceptor.java:74)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:65)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at AOPProxy$1.applyTemplate(AOPProxy$1.java)
at org.rhq.plugins.jbossas5.ProfileJBossServerComponent.createConfigurationBasedResource(ProfileJBossServerCompo
nent.java:218)
at org.rhq.plugins.jbossas5.ProfileJBossServerComponent.createResource(ProfileJBossServerComponent.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:623)
at org.rhq.core.pc.inventory.ResourceContainer$ComponentInvocationThread.call(ResourceContainer.java:450)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:713)
Caused by: org.jboss.util.NotImplementedException: Use a custom InstanceClassFactory, property=DefaultPropertyInfo@e98e4
{name=securityMetaData getter=ReflectMethodInfoImpl@57dcae{name=getSecurityMetaData[] return=ReflectClassInfoImpl@595b13
{name=org.jboss.resource.metadata.mcf.SecurityMetaData}} setter=ReflectMethodInfoImpl@6a7c2c{name=setSecurityMetaData[Re
flectClassInfoImpl(a)595b13{name=org.jboss.resource.metadata.mcf.SecurityMetaData}] return=void}}
at org.jboss.managed.plugins.factory.AbstractInstanceClassFactory.setManagedObject(AbstractInstanceClassFactory.
java:346)
at org.jboss.managed.plugins.factory.AbstractInstanceClassFactory.setValue(AbstractInstanceClassFactory.java:272
)
at org.jboss.managed.plugins.WritethroughManagedPropertyImpl.setValue(WritethroughManagedPropertyImpl.java:110)
at org.jboss.resource.deployers.management.DsDataSourceTemplate.writeTemplate(DsDataSourceTemplate.java:154)
at org.jboss.resource.deployers.management.DsDataSourceTemplate.applyTemplate(DsDataSourceTemplate.java:70)
at org.jboss.profileservice.management.ManagementViewImpl.applyTemplate(ManagementViewImpl.java:674)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:623)
at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:121)
at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
at org.jboss.profileservice.remoting.ProfileServiceInvocationHandler.invoke(ProfileServiceInvocationHandler.java
:67)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:908)
at org.jboss.remoting.transport.local.LocalClientInvoker.invoke(LocalClientInvoker.java:106)
at org.jboss.remoting.Client.invoke(Client.java:1708)
at org.jboss.remoting.Client.invoke(Client.java:612)
at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:60)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.remoting.MergeMetaDataInterceptor.invoke(MergeMetaDataInterceptor.java:74)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:65)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at AOPProxy$1.applyTemplate(AOPProxy$1.java)
at org.rhq.plugins.jbossas5.ProfileJBossServerComponent.createConfigurationBasedResource(ProfileJBossServerCompo
nent.java:218)
at org.rhq.plugins.jbossas5.ProfileJBossServerComponent.createResource(ProfileJBossServerComponent.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:623)
at org.rhq.core.pc.inventory.ResourceContainer$ComponentInvocationThread.call(ResourceContainer.java:450)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:713)
at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:72)
... 18 more
And here's the set of properties contained in the template that I passed into applyTemplate():
Properties for DeploymentTemplateInfo [XADataSourceTemplate]:
name=allocation-retry, mappedName=null, required=false, value=SimpleMetaType:java.lang.Integer:0
name=allocation-retry-wait-millis, mappedName=null, required=false, value=SimpleMetaType:java.lang.Long:5000
name=background-validation, mappedName=null, required=true, value=SimpleMetaType:java.lang.Boolean:false
name=background-validation-millis, mappedName=null, required=false, value=SimpleMetaType:java.lang.Long:0
name=blocking-timeout-millis, mappedName=null, required=true, value=SimpleMetaType:java.lang.Long:30000
name=check-valid-connection-sql, mappedName=null, required=false, value=null
name=config-property, mappedName=null, required=false, value=CollectionMetaType{type=config-property elementType=Mutab
leCompositeMetaType{org.jboss.resource.metadata.mcf.ManagedConnectionFactoryPropertyMetaData}: [Lorg.jboss.metatype.api.
values.MetaValue;@f3d18a
Elements:
name=connection-definition, mappedName=null, required=true, value=null
name=depends, mappedName=null, required=false, value=null
name=exception-sorter-class-name, mappedName=null, required=false, value=SimpleMetaType:java.lang.String:org.jboss.res
ource.adapter.jdbc.vendor.OracleExceptionSorter
name=idle-timeout-minutes, mappedName=null, required=true, value=SimpleMetaType:java.lang.Integer:30
name=interleaving, mappedName=null, required=false, value=null
name=isSameRM-override-value, mappedName=null, required=true, value=SimpleMetaType:java.lang.Boolean:false
name=jmx-invoker-name, mappedName=null, required=true, value=null
name=jndi-name, mappedName=null, required=true, value=SimpleMetaType:java.lang.String:XAOracleDS
name=local-transaction, mappedName=null, required=true, value=null
name=max-pool-size, mappedName=null, required=true, value=SimpleMetaType:java.lang.Integer:10
name=metadata, mappedName=null, required=false, value=CompositeValueSupport: metaType=[MutableCompositeMetaType{org.jb
oss.resource.metadata.mcf.DBMSMetaData items=[name=typeMapping type=java.lang.String]}] items=[typeMapping=SimpleMetaTyp
e:java.lang.String:FirstSQL/J]
name=min-pool-size, mappedName=null, required=true, value=SimpleMetaType:java.lang.Integer:0
name=new-connection-sql, mappedName=null, required=false, value=null
name=no-tx-separate-pools, mappedName=null, required=true, value=SimpleMetaType:java.lang.Boolean:true
name=password, mappedName=null, required=false, value=null
name=prefill, mappedName=null, required=true, value=null
name=prepared-statement-cache-size, mappedName=null, required=false, value=SimpleMetaType:java.lang.Integer:0
name=query-timeout, mappedName=null, required=false, value=SimpleMetaType:java.lang.Integer:0
name=rar-name, mappedName=null, required=true, value=null
name=security-domain, mappedName=null, required=false, value=GenericMetaType:security-domain:ManagedObject{security-do
main}
name=set-tx-query-timeout, mappedName=null, required=false, value=SimpleMetaType:java.lang.Boolean:false
name=share-prepared-statements, mappedName=null, required=false, value=SimpleMetaType:java.lang.Boolean:false
name=stale-connection-checker-class-name, mappedName=null, required=false, value=null
name=statistics-formatter, mappedName=null, required=true, value=null
name=track-connection-by-tx, mappedName=null, required=false, value=SimpleMetaType:java.lang.Boolean:true
name=track-statements, mappedName=null, required=false, value=null
name=transaction-isolation, mappedName=null, required=false, value=null
name=type-mapping, mappedName=null, required=true, value=null
name=url-delimiter, mappedName=null, required=false, value=null
name=url-property, mappedName=null, required=true, value=SimpleMetaType:java.lang.String:urn:foo
name=url-selector-strategy-class-name, mappedName=null, required=false, value=null
name=use-java-context, mappedName=null, required=true, value=SimpleMetaType:java.lang.Boolean:true
name=use-strict-min, mappedName=null, required=true, value=null
name=use-try-lock, mappedName=null, required=false, value=SimpleMetaType:java.lang.Long:60000
name=user-name, mappedName=null, required=false, value=null
name=valid-connection-checker-class-name, mappedName=null, required=false, value=null
name=validate-on-match, mappedName=null, required=true, value=SimpleMetaType:java.lang.Boolean:true
name=xa-datasource-class, mappedName=null, required=true, value=SimpleMetaType:java.lang.String:oracle.jdbc.xa.client.
OracleXADataSource
name=xa-datasource-properties, mappedName=null, required=false, value=MapCompositeMetaType{java.util.Map}:{}
name=xa-resource-timeout, mappedName=null, required=true, value=SimpleMetaType:java.lang.Integer:111
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 7 months