2010-12-03 6 views
1

Wie der Titel sagt:Wie erhalten Sie die IP-Adresse eines Remote-EJB-Clients in Glassfish?

Ich habe einen Swing Standalone-Client, der eine Verbindung zu einer EJB-Anwendung auf GF 3.0.1 bereitstellt. Ich hätte gerne Zugang zu Client-IP innerhalb von EJB-Methoden.

Ist das möglich?

Ich fand auch this thread aber die Lösung war für JBoss ...

+0

Vielleicht haben Sie schon daran gedacht, sondern als eine Arbeit um Sie könnten einen Web-Service bieten, der die EJB-Zugriffe (n) . Es kann mehr Arbeit sein, aber zumindest sollte es Sie dahin bringen, wo Sie es brauchen. – javamonkey79

+0

Ich werde wahrscheinlich so etwas implementieren, wenn ich keinen direkteren Ansatz finde. Vielen Dank. – Bogdan

+0

Irgendwie erbärmlich, dass es in der Java-API keine nativen Methoden dafür gibt. –

Antwort

1
@WebService() 
public class Test { 

    @Resource 
    WebServiceContext context; 

    @WebMethod(operationName = "getInfo") 
    public String getInfo() { 
     HttpServletRequest request = (HttpServletRequest)context.getMessageContext() 
       .get(MessageContext.SERVLET_REQUEST); 
     return "IP: " + request.getRemoteAddr() + 
       ", Port: " + request.getRemotePort() + 
       ", Host: " + request.getRemoteHost(); 
    } 
}