[
https://issues.jboss.org/browse/WFLY-6678?page=com.atlassian.jira.plugin....
]
David Lloyd updated WFLY-6678:
------------------------------
Steps to Reproduce:
Invoke ejb service with ejbclient
{code}
/**
* Get service needed authentication
*
* @param userContext
* @return
*/
public T getService(final String fullUserId, final String applicationName) {
try {
final Properties ejbClientContextProps = new Properties();
ejbClientContextProps.put("org.jboss.ejb.client.scoped.context",
"true");
final Context initialContext = new InitialContext(ejbClientContextProps);
EJBClientContext.requireCurrent().registerInterceptor(0x99999, new
ProxyInterceptor(fullUserId, applicationName));
return (T) initialContext.lookup(jndiName);
}
catch (NamingException e) {
LOGGER.warn("Service non disponible : " + jndiName + ", " + e);
}
return null;
}
public class ProxyInterceptor implements EJBClientInterceptor {
public static final String FULL_USER_ID = "fullUserId";
public static final String APPLICATION_NAME = "applicationName";
private final String fullUserId;
private final String applicationName;
/**
*
*/
public ProxyInterceptor(final String fullUserId, final String applicationName) {
this.fullUserId = fullUserId;
this.applicationName = applicationName;
}
/*
* (non-Javadoc)
* @see
org.jboss.ejb.client.EJBClientInterceptor#handleInvocation(org.jboss.ejb.client.EJBClientInvocationContext)
*/
@Override
public void handleInvocation(final EJBClientInvocationContext ctx) throws Exception {
ctx.getContextData().put(FULL_USER_ID, fullUserId);
ctx.getContextData().put(APPLICATION_NAME, applicationName);
ctx.sendRequest();
}
/*
* (non-Javadoc)
* @see
org.jboss.ejb.client.EJBClientInterceptor#handleInvocationResult(org.jboss.ejb.client.EJBClientInvocationContext)
*/
@Override
public Object handleInvocationResult(EJBClientInvocationContext ctx) throws Exception {
return ctx.getResult();
}
{code}
was:
Invoke ejb service with ejbclient
/**
* Get service needed authentication
*
* @param userContext
* @return
*/
public T getService(final String fullUserId, final String applicationName) {
try {
final Properties ejbClientContextProps = new Properties();
ejbClientContextProps.put("org.jboss.ejb.client.scoped.context",
"true");
final Context initialContext = new InitialContext(ejbClientContextProps);
EJBClientContext.requireCurrent().registerInterceptor(0x99999, new
ProxyInterceptor(fullUserId, applicationName));
return (T) initialContext.lookup(jndiName);
}
catch (NamingException e) {
LOGGER.warn("Service non disponible : " + jndiName + ", " + e);
}
return null;
}
public class ProxyInterceptor implements EJBClientInterceptor {
public static final String FULL_USER_ID = "fullUserId";
public static final String APPLICATION_NAME = "applicationName";
private final String fullUserId;
private final String applicationName;
/**
*
*/
public ProxyInterceptor(final String fullUserId, final String applicationName) {
this.fullUserId = fullUserId;
this.applicationName = applicationName;
}
/*
* (non-Javadoc)
* @see
org.jboss.ejb.client.EJBClientInterceptor#handleInvocation(org.jboss.ejb.client.EJBClientInvocationContext)
*/
@Override
public void handleInvocation(final EJBClientInvocationContext ctx) throws Exception {
ctx.getContextData().put(FULL_USER_ID, fullUserId);
ctx.getContextData().put(APPLICATION_NAME, applicationName);
ctx.sendRequest();
}
/*
* (non-Javadoc)
* @see
org.jboss.ejb.client.EJBClientInterceptor#handleInvocationResult(org.jboss.ejb.client.EJBClientInvocationContext)
*/
@Override
public Object handleInvocationResult(EJBClientInvocationContext ctx) throws Exception {
return ctx.getResult();
}
StackoverflowError ejbclientinvocationcontext
---------------------------------------------
Key: WFLY-6678
URL:
https://issues.jboss.org/browse/WFLY-6678
Project: WildFly
Issue Type: Bug
Components: EJB
Environment: wildfly 9.0.1, jdk 1.8
Reporter: Jimmy Pannier
Sometimes after few days i get an exception
Here is a stacktrace.
2016-06-07 07:38:10,441 ERROR [org.jboss.as.ejb3.invocation] (default task-76)
WFLYEJB0034: EJB Invocation failed on component StorageServiceImpl for method public
abstract java.util.List
com.inovelan.cloud.api.storage.service.dataset.IStorageEjbService.loadData(com.inovelan.cloud.api.storage.model.dto.dataset.LoadDataConfig):
javax.ejb.EJBTransactionRolledbackException: WFLYEJB0457: Unexpected Error
at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleInCallerTx(CMTTxInterceptor.java:153)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:256)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:329)
.....
Caused by: java.lang.StackOverflowError
at
org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
at
com.inovelan.cloud.common.proxy.ProxyInterceptor.handleInvocationResult(ProxyInterceptor.java:37)
at
org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
at
com.inovelan.cloud.common.proxy.ProxyInterceptor.handleInvocationResult(ProxyInterceptor.java:37)
at
org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
at
com.inovelan.cloud.common.proxy.ProxyInterceptor.handleInvocationResult(ProxyInterceptor.java:37)
at
org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
at
com.inovelan.cloud.common.proxy.ProxyInterceptor.handleInvocationResult(ProxyInterceptor.java:37)
at
org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
at
com.inovelan.cloud.common.proxy.ProxyInterceptor.handleInvocationResult(ProxyInterceptor.java:37)
at
org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
at
com.inovelan.cloud.common.proxy.ProxyInterceptor.handleInvocationResult(ProxyInterceptor.java:37)
at
org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
at
com.inovelan.cloud.common.proxy.ProxyInterceptor.handleInvocationResult(ProxyInterceptor.java:37)
at
org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
at
com.inovelan.cloud.common.proxy.ProxyInterceptor.handleInvocationResult(ProxyInterceptor.java:37)
at
org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
at
com.inovelan.cloud.common.proxy.ProxyInterceptor.handleInvocationResult(ProxyInterceptor.java:37)
at
org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
at
com.inovelan.cloud.common.proxy.ProxyInterceptor.handleInvocationResult(ProxyInterceptor.java:37)
at
org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
at
com.inovelan.cloud.common.proxy.ProxyInterceptor.handleInvocationResult(ProxyInterceptor.java:37)
at
org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)