// HelloRemote.java package st; import javax.ejb.Remote; @Remote public interface HelloRemote { String sayHello(); }
// HelloBean.java package st; import javax.ejb.Stateless; @Stateless public class HelloBean implements HelloRemote { public HelloBean() { } public String sayHello() { return "Hello"; } }
import java.util.Properties; import javax.naming.InitialContext; import javax.swing.JOptionPane; import java.awt.*; import java.awt.event.*; import javax.swing.*; import st.HelloRemote; public class HelloClient extends JFrame { public HelloClient() { super("Hello Client"); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); JButton b1 = new JButton("Access EJB"); getContentPane().add(b1, BorderLayout.PAGE_END); b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { String msg = ""; try { // Access JNDI Initial Context. Properties p = new Properties(); p.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory"); p.put("java.naming.provider.url","jnp://localhost:1099"); p.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces"); InitialContext ctx = new InitialContext(p); // Change jndi name according to your server and ejb HelloRemote remote = (HelloRemote) ctx.lookup("HelloBean/remote"); msg = "Message From EJB --> " + remote.sayHello(); } catch(Exception ex){ msg = "Error --> " + ex.getCause().toString(); } JOptionPane.showMessageDialog(HelloClient.this,msg,"Message", JOptionPane.INFORMATION_MESSAGE); } }); setSize(200,200); } // public static void main(String args[]) { new HelloClient().setVisible(true); } }
Keep Learning.
Srikanth .