hi all .............
here is my small example :

1.Fierst Remote Interface

  | import javax.ejb.Remote;
  | 
  | @Remote
  | public interface Person {
  |     public void addPersonName(String a);
  |     public void printNames();
  | }
  | 

2. And It's Implementation :

  | import java.util.ArrayList;
  | import javax.ejb.Remote;
  | import javax.ejb.Stateful;
  | import javax.ejb.TransactionAttribute;
  | import javax.ejb.TransactionAttributeType;
  | 
  | @Stateful
  | @Remote(Person.class)
  | public class PersonBean implements Person
  | {
  |     ArrayList<String> list = new ArrayList<String>();
  |     @TransactionAttribute(TransactionAttributeType.REQUIRED)
  |     public void addPersonName(String name)
  |     {
  |             list.add(name);
  |     }
  |     @TransactionAttribute(TransactionAttributeType.SUPPORTS)
  |     public void printNames()
  |     {
  |             for (int i = 0; i < list.size(); i++)
  |             {
  |                     System.out.println("Name = "+list.get(i));      
  |             }
  |     }
  | }
  | 

3. Second Remote Interface :

  | import javax.ejb.Remote;
  | @Remote
  | public interface UsePerson {
  |     public void callPrint()throws Exception;
  | }
  | 

4. And It's Implementation :

  | @Stateful
  | @Remote(Fasade.class)
  | public class UsePersonBean implements UsePerson
  | {
  |     @EJB 
  |     Person person;
  |     @TransactionAttribute(TransactionAttributeType.REQUIRED)
  |     public void callPrint() throws Exception
  |     {
  |             try
  |             {
  |                     test.printNames();
  |             }
  |             catch (Exception e)
  |             {
  |                     e.printStackTrace();
  |             }
  |     }
  |     
  | }
  | 

5. Client code :

  | public class TestClient
  | {
  |     public static void main(String[] args)
  |     {
  |             try
  |             {
  |                     Properties jndiProps = new Properties();
  |                     jndiProps.setProperty(Context.INITIAL_CONTEXT_FACTORY,
  |                                     
"org.jnp.interfaces.NamingContextFactory");
  |                     jndiProps.setProperty(Context.URL_PKG_PREFIXES,
  |                                     "org.jboss.naming:org.jnp.interface");
  |                     jndiProps.setProperty(Context.PROVIDER_URL,
  |                                     "jnp://127.0.0.1:1099");
  |                     InitialContext ctx = new InitialContext(jndiProps);
  | 
  |                     UsePerson useperson = (UsePerson) 
ctx.lookup("UsePersonBean/remote");
  |                     Person person = (Person) 
ctx.lookup("PersonBean/remote");
  |                     person.addPersonName("Piter");
  |                     person.addPersonName("John");
  |                     person.addPersonName("Miles");
  |                     person.addPersonName("Trubambas"); // :)
  |                     bean.callPrint();
  |             }
  |             catch (Exception e)
  |             {
  |                     e.printStackTrace();
  |             }
  |     }
  | }
  | 

my task is that i want to get current Person reference in UsePersonBean which 
created by client.
i think @EJB annotation alwayes makes new reference.
could anybody tell me how i can get current session objects ??
like HTTPSession in Servlets ....
is it right if i use 

  |           private @Resource SessionContext ctx;
  | 
 but somewhere i found that "private @Resource SessionContext ctx;" and  "@EJB 
annotation" are the same.

thanks.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3968555#3968555

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3968555
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to