Hello community,
i have some question how i can use RMI and JNDI with SessionScopes?
I get always a error on the client side the weld context is no active: I use JBoss6.
Here my example on Serverside:
Interfaces:
{code}
@Remote
public interface ContractRemoteService{
Set<String> getContracts();
}
{code}
{code}
@Remote
public interface LoginRemoteService{
public void login(String name)
}
{code}
Impl
{code}
@Stateful
public class ContractRemoteServiceImpl implements ContractRemoteService{
@Inject
private UserBean userBean;
@Overide
public Set<String> getContracts(){
Set<String> contracts = new HashSet<String>();
contracts.add("contract1");
contracts.add("contract2");
if(userBean.getName().equals("test")){
contracts.add("contract3");
}
return contracts;
}
}
{code}
{code}
@Stateful
public class LoginRemoteServiceImpl implements LoginRemoteService{
@Inject
private UserBean user;
@Override
public void login(String name){
user.setName(name);
}
}
{code}
Bean
{code}
@Stateful
@SessionScoped
public class UserBean{
private String name;
public setName(String name){
this.name = name;
}
public String getName(){
return name;
}
}
{code}
The client side:
{code}
public class Client{
public static void main(String [] args) throws Exceptions{
Context context = new InitialContext();
LoginRemoteService loginService = (LoginRemoteService) context.lookup("LoginRemoteServiceImpl/remote");
ContractRemoteService contractService = (ContractRemoteService) context.lookup("ContractRemoteServiceImpl");
loginService.login("Mhm?");
contractSerive.getContracts();// autsch
}
}
{code}
Error Message:
WELD-001303 no active contexts for scope javax.enterprise.context.SessionScoped
How can i activate the Context?
Thanks =)