Jboss EAP Asynchronous method not working












0















I have tried every resource in the web, but the Jboss Asynchronous annotation is not working. Below is the class from where I try to call the tester,



@Stateless
public abstract class TestApplicationBean extends OtherTest implements ESession{
@Inject
AsyncBeanTester tester;

void process() {
tester.test();
}

}


Here is the tester class



@Stateless
public class AsyncBeanTester {
@Inject
SFAsyncRemote asyncRemote;

void test() {

asyncRemote.test();
}



}


And the interface,



@Remote
public interface SFAsyncRemote {
void test();
}


And finally the asynchronous implementation,



@LocalBean
@Stateless
@TransactionAttribute(TransactionAttributeType.NEVER)
public class ImplAsyncBean implements SFAsyncRemote {

private static final ELogger log = ELoggerFactory.getLogger(ImplAsyncBean.class);

@Override
@Asynchronous
public void test() {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("It works");
}

}


It seems like the Asynchronous annotation does not have any effect. However, I am calling through a Jboss proxy, so Jboss should have ran the function Asyncrhonously. However, the thread id is same and the whole program waits for 10 second before going to completion. What am I doing wrong here? Moreover, when I try to use @EJB instead of @Inject on asyncRemote, I get Could not resolve @EJB injection for @javax.ejb.EJB(name=, lookup=, description=, beanName=, beanInterface=class java.lang.Object, mappedName=) on com.bankframe.bp.retail.solutionset.impl.maintainculsfapplication.SFAsyncRemote com.bankframe.bp.retail.solutionset.impl.maintainculsfapplication.AsyncBeanTester.asyncRemote










share|improve this question

























  • your annotation @LocalBean is invalid. you should use it only if you want to annotate no-interface local bean

    – kret
    Nov 24 '18 at 0:42
















0















I have tried every resource in the web, but the Jboss Asynchronous annotation is not working. Below is the class from where I try to call the tester,



@Stateless
public abstract class TestApplicationBean extends OtherTest implements ESession{
@Inject
AsyncBeanTester tester;

void process() {
tester.test();
}

}


Here is the tester class



@Stateless
public class AsyncBeanTester {
@Inject
SFAsyncRemote asyncRemote;

void test() {

asyncRemote.test();
}



}


And the interface,



@Remote
public interface SFAsyncRemote {
void test();
}


And finally the asynchronous implementation,



@LocalBean
@Stateless
@TransactionAttribute(TransactionAttributeType.NEVER)
public class ImplAsyncBean implements SFAsyncRemote {

private static final ELogger log = ELoggerFactory.getLogger(ImplAsyncBean.class);

@Override
@Asynchronous
public void test() {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("It works");
}

}


It seems like the Asynchronous annotation does not have any effect. However, I am calling through a Jboss proxy, so Jboss should have ran the function Asyncrhonously. However, the thread id is same and the whole program waits for 10 second before going to completion. What am I doing wrong here? Moreover, when I try to use @EJB instead of @Inject on asyncRemote, I get Could not resolve @EJB injection for @javax.ejb.EJB(name=, lookup=, description=, beanName=, beanInterface=class java.lang.Object, mappedName=) on com.bankframe.bp.retail.solutionset.impl.maintainculsfapplication.SFAsyncRemote com.bankframe.bp.retail.solutionset.impl.maintainculsfapplication.AsyncBeanTester.asyncRemote










share|improve this question

























  • your annotation @LocalBean is invalid. you should use it only if you want to annotate no-interface local bean

    – kret
    Nov 24 '18 at 0:42














0












0








0








I have tried every resource in the web, but the Jboss Asynchronous annotation is not working. Below is the class from where I try to call the tester,



@Stateless
public abstract class TestApplicationBean extends OtherTest implements ESession{
@Inject
AsyncBeanTester tester;

void process() {
tester.test();
}

}


Here is the tester class



@Stateless
public class AsyncBeanTester {
@Inject
SFAsyncRemote asyncRemote;

void test() {

asyncRemote.test();
}



}


And the interface,



@Remote
public interface SFAsyncRemote {
void test();
}


And finally the asynchronous implementation,



@LocalBean
@Stateless
@TransactionAttribute(TransactionAttributeType.NEVER)
public class ImplAsyncBean implements SFAsyncRemote {

private static final ELogger log = ELoggerFactory.getLogger(ImplAsyncBean.class);

@Override
@Asynchronous
public void test() {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("It works");
}

}


It seems like the Asynchronous annotation does not have any effect. However, I am calling through a Jboss proxy, so Jboss should have ran the function Asyncrhonously. However, the thread id is same and the whole program waits for 10 second before going to completion. What am I doing wrong here? Moreover, when I try to use @EJB instead of @Inject on asyncRemote, I get Could not resolve @EJB injection for @javax.ejb.EJB(name=, lookup=, description=, beanName=, beanInterface=class java.lang.Object, mappedName=) on com.bankframe.bp.retail.solutionset.impl.maintainculsfapplication.SFAsyncRemote com.bankframe.bp.retail.solutionset.impl.maintainculsfapplication.AsyncBeanTester.asyncRemote










share|improve this question
















I have tried every resource in the web, but the Jboss Asynchronous annotation is not working. Below is the class from where I try to call the tester,



@Stateless
public abstract class TestApplicationBean extends OtherTest implements ESession{
@Inject
AsyncBeanTester tester;

void process() {
tester.test();
}

}


Here is the tester class



@Stateless
public class AsyncBeanTester {
@Inject
SFAsyncRemote asyncRemote;

void test() {

asyncRemote.test();
}



}


And the interface,



@Remote
public interface SFAsyncRemote {
void test();
}


And finally the asynchronous implementation,



@LocalBean
@Stateless
@TransactionAttribute(TransactionAttributeType.NEVER)
public class ImplAsyncBean implements SFAsyncRemote {

private static final ELogger log = ELoggerFactory.getLogger(ImplAsyncBean.class);

@Override
@Asynchronous
public void test() {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("It works");
}

}


It seems like the Asynchronous annotation does not have any effect. However, I am calling through a Jboss proxy, so Jboss should have ran the function Asyncrhonously. However, the thread id is same and the whole program waits for 10 second before going to completion. What am I doing wrong here? Moreover, when I try to use @EJB instead of @Inject on asyncRemote, I get Could not resolve @EJB injection for @javax.ejb.EJB(name=, lookup=, description=, beanName=, beanInterface=class java.lang.Object, mappedName=) on com.bankframe.bp.retail.solutionset.impl.maintainculsfapplication.SFAsyncRemote com.bankframe.bp.retail.solutionset.impl.maintainculsfapplication.AsyncBeanTester.asyncRemote







java asynchronous java-ee jboss jboss6.x






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 22 '18 at 11:06







Tamim Addari

















asked Nov 22 '18 at 9:39









Tamim AddariTamim Addari

1,83062645




1,83062645













  • your annotation @LocalBean is invalid. you should use it only if you want to annotate no-interface local bean

    – kret
    Nov 24 '18 at 0:42



















  • your annotation @LocalBean is invalid. you should use it only if you want to annotate no-interface local bean

    – kret
    Nov 24 '18 at 0:42

















your annotation @LocalBean is invalid. you should use it only if you want to annotate no-interface local bean

– kret
Nov 24 '18 at 0:42





your annotation @LocalBean is invalid. you should use it only if you want to annotate no-interface local bean

– kret
Nov 24 '18 at 0:42












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53427866%2fjboss-eap-asynchronous-method-not-working%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53427866%2fjboss-eap-asynchronous-method-not-working%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

ts Property 'filter' does not exist on type '{}'

mat-slide-toggle shouldn't change it's state when I click cancel in confirmation window