I think I may have a misconception of some of the intricacies of outjection and Seam
component instantiation. I have a Seam component that is created by Seam via the
@In(create=true) annotation. Unfortunately, I cannot seem to inject another Seam
component into this component. Here's what I'm doing:
Seam component 1
| @Name("comp1")
| @Stateful
| public class MySample1Bean implements MySample1 {
| ...
|
| @Out
| Connection connection = null;
| ...
| public void myMethod() {
| ...
| connection = ...;
| ...
| }
| }
Seam component 2
| @Name("comp2")
| @Stateful
| public class MySample2Bean implements MySample2 {
| ...
|
| @In(create=true) // I've also tried @In(create=true, required=false)
| MySample3 comp3 = null;
|
| @In
| Connection connection = null;
| ...
|
| }
Seam component 3
| @Name("comp3")
| @Stateful
| public class MySample3Bean implements MySample3 {
| ...
|
| @In // I've put @In(required=false) here, too just so component gets created
| Connection connection = null;
|
| ...
|
| }
I have a page where comp1 is called. The user then invokes an action method which then
navigates the user to another page, where comp2 is accessed. BTW, I have it on my
pages.xml file that a long running conversation gets started (i.e. using
<begin-conversation> when the page is invoked) for the page that calls comp2. The
Seam component comp3 gets created in comp2 because of the @In(create=true) annotation.
However, when comp3 is created, I'm expecting the connection context variable to be
outjected to comp3. Unfortunately, connection is always null in comp3. Interestingly,
connection is non-null in comp2. What's going on here and what am I doing wrong?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4043731#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...