[JBoss JIRA] Created: (WELD-734) Support @EJB injection in pre-Java EE 6 environments
by Dan Allen (JIRA)
Support @EJB injection in pre-Java EE 6 environments
----------------------------------------------------
Key: WELD-734
URL: https://jira.jboss.org/browse/WELD-734
Project: Weld
Issue Type: Feature Request
Components: Servlet Container Support
Affects Versions: 1.1.0.Beta1
Reporter: Dan Allen
Priority: Minor
Add support for the injection of EJBs into CDI beans (via the @EJB annotation) in Weld Servlet for use in pre-Java EE 6 environments. This feature would enable more developers to immeidately switch to CDI despite having to use an older platform.
The best strategy to take to implement this feature would be to leverage Weld's EjbServices SPI interface (http://docs.jboss.org/weld/reference/latest/en-US/html/ri-spi.html) on a per container basis (in the same way Weld is integrated into the Java EE 6 containers).
Currently, the Weld Listener doesn't provide any hooks to register services before it starts the container. We could redesign the Listener to support providing the EjbServices implementation (and perhaps other service implementations) in a listener subclass.
It's unlikely we can fully implement EJB integration in pre EE6 environments as (at least in JBoss AS and GlassFish) as some of the hooks (specifically the hooks to remove EJBs on demand) are missing. However, basic injection would cover ~80% of the cases.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months
[JBoss JIRA] Created: (WELD-843) Documentation on how to implement a new scope
by José Freitas (JIRA)
Documentation on how to implement a new scope
---------------------------------------------
Key: WELD-843
URL: https://issues.jboss.org/browse/WELD-843
Project: Weld
Issue Type: Feature Request
Components: Documentation
Affects Versions: 1.1.0.Final
Reporter: José Freitas
Priority: Minor
Sometimes people need to implement their own scope and there are no specific documentation about it.
There's just a teaser saying that "Implementing a Context is usually a very technical task, intended for framework development only. You can expect an implementation of the business scope, for instance, in a future version of Seam."
I think that the weld docs should show what it takes to accomplish such a task.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months
[JBoss JIRA] Created: (WELDX-74) Support use of decorator of Callable<T>
by Elias Ross (JIRA)
Support use of decorator of Callable<T>
---------------------------------------
Key: WELDX-74
URL: https://jira.jboss.org/jira/browse/WELDX-74
Project: Weld Extensions
Issue Type: Feature Request
Components: Java SE
Reporter: Elias Ross
Decorator exists for Runnable. Should allow for Callable<T> to be used as well.
This is actually pretty useful, for example if you want to execute under a temporary new scope in the same thread, e.g.
@Inject Instance<PaymentProcessor> paymentProcessorSource; // which implements Callable<Result>
Result result = paymentProcessorSource.get().call();
Or, in the case of a thread pool, you can use Future<T> etc.
/**
* Decorator for all beans which implements Callable. It intercepts the call
* to the call() method to set up the ThreadContext for the new thread so that
* instances of @ThreadScoped beans can be correctly resolved.
*/
@Decorator
public class CallableDecorator<T> implements Callable<T> {
@Inject @Delegate Callable<T> callable;
/**
* Set up the ThreadContet and delegate.
*/
public T call()
{
// set up context for this thread
final ThreadContext threadContext = WeldSEBeanRegistrant.THREAD_CONTEXT;
threadContext.setBeanStore(new HashMapBeanStore());
threadContext.setActive(true);
// run the original thread
try {
return callable.call();
} finally {
threadContext.destroy();
}
}
--
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
12 years, 9 months
[JBoss JIRA] Created: (WELD-832) Remote EJBs can be resolved by name
by Aslak Knutsen (JIRA)
Remote EJBs can be resolved by name
-----------------------------------
Key: WELD-832
URL: https://issues.jboss.org/browse/WELD-832
Project: Weld
Issue Type: Bug
Components: Resolution (Typesafe and by Name)
Affects Versions: 1.1.0.Final
Reporter: Aslak Knutsen
You can lookup Remote EJBs via BeanManager based on name. Remote EJBs should not be registered as Beans.
Failed tests:
runTest(org.opentck.javaee.cdi_ejb.deployments.stateful.remoteview.WarDeployedNamedAccessTest)
runTest(org.opentck.javaee.cdi_ejb.deployments.singleton.remoteview.WarDeployedNamedAccessTest)
runTest(org.opentck.javaee.cdi_ejb.deployments.stateless.remoteview.WarDeployedNamedAccessTest)
tests: https://github.com/opentck/javaee_cdi_ejb
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months
[JBoss JIRA] Created: (WELD-863) Replication of EJB Session Beans does not work in cluster
by Martin Gencur (JIRA)
Replication of EJB Session Beans does not work in cluster
---------------------------------------------------------
Key: WELD-863
URL: https://issues.jboss.org/browse/WELD-863
Project: Weld
Issue Type: Bug
Affects Versions: 1.1.0.Final
Environment: JBossAS 6 SNAPSHOT (from 2011-03-02) - built in hudson
Reporter: Martin Gencur
Assignee: Ales Justin
Fix For: TBC
Attachments: weld-translator.ear
I tested this feature with JSF/Translator example and I needed to do a few changes to test this feature. My fork of weld-core with the changes can be found at: https://github.com/mgencur/core/tree/cluster-test. I'll also attach a packaged ear of the app which I used.
Steps to reproduce the bug:
1) deploy the attached weld-translator.ear file or checkout my changes from github and build the application
2) start first and second instance of the JBossAS to create a cluster (can be found at https://github.com/weld/core/blob/master/examples/README.md)
3) deploy the app
4) go to your web browser and disable cookies
5) go to http://localhost:8080/weld-translator, enter some text and click "Translate"
6) now change the port number in the address to 8180 and refresh (note that there should be also jsessionid included in the URL)
7) now the text you entered into the text area should be still there (since the value is stored in a field of SFSB which is clustered, but instead, you get the following exception at the slave JBossAS instance:
12:00:16,662 WARN [org.jboss.web.tomcat.service.session.distributedcache.ispn.DistributedCacheManager] Problem accessing session [hz****59+A__]: org.jboss.weld.exceptions.WeldException: WELD-001500 Failed to deserialize proxy object
Note that if you then go to the first address (with port 8080) and then again to 8180 - from now the replication works fine. But IMHO this is not desired behaviour, the second (backup) JBoss instance should be ready immediately
The question is if the changes of the application are the right ones. There is nobody here who could confirm this. Please pay attention to it and comment this issue if it's not correct.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months