EJB JBoss

4 respostas
A

Como executo o jar de um cliente, através do JBoss???

Copiei a pasta dist do projeto, mas não roda fora do netbeans…

4 Respostas

A

Passei a noite tentando resolver e nada…
Não estou encontrando nada na Web…

A

Inseri no cliente um arquivo MANIFEST.MF com o codigo:

Manifest-Version: 1.0    
Main-Class: /HelloClient
Created-By: Ant 1.4.1    
Class-Path: C:/Users/Usuario/Documents/NetBeansProjects/SwingClient/dist/lib/HelloEJB.jar

Agora com clique na pasta dist, consigo executar o jar…
porém com o erro:
java.lang.runtimeexception: exception while trying to locate proxy factory in jndi, at key ProxyFactory/

A

Vou postar o codigo para ajuda…

Módulo EJB:

// HelloBean.java
package st;
import javax.ejb.Stateless;

@Stateless
public class HelloBean implements HelloRemote {
    
    public HelloBean() {
    }

    public String sayHello() {
        return "Hello";
    }
}
package st;
import javax.ejb.Remote;

@Remote
public interface HelloRemote {
    String sayHello();
}

Cliente Java Application:

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.factory.url.pkgs", "org.jboss.naming");   
                    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);
    } 
}

MANIFEST.MF

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_24-b07 (Sun Microsystems Inc.)
Class-Path: lib/HelloEJB.jar lib/jboss-aop-client.jar lib/jboss-ejb3-c
 ommon-client.jar lib/jboss-client.jar lib/jboss-appclient.jar lib/jbo
 ss-classpool-jbosscl.jar lib/jboss-classpool-scoped.jar lib/jboss-cla
 sspool.jar lib/jboss-common-core.jar lib/jboss-connector-api_1.5_spec
 .jar lib/jboss-deployers-client-spi.jar lib/jboss-deployers-client.ja
 r lib/jboss-deployers-core-spi.jar lib/jboss-deployers-core.jar lib/j
 boss-deployers-vfs-spi.jar lib/jboss-deployers-vfs.jar lib/jboss-depl
 oyment.jar lib/jboss-ejb-api_3.1_spec.jar lib/jboss-ejb3-async-impl.j
 ar lib/jboss-ejb3-async-spi.jar lib/jboss-ejb3-context-spi.jar lib/jb
 oss-ejb3-core-client.jar lib/jboss-ejb3-embedded-standalone.jar lib/j
 boss-ejb3-ext-api-impl.jar lib/jboss-ejb3-ext-api.jar lib/jboss-ejb3-
 proxy-clustered-client.jar lib/jboss-ejb3-proxy-impl-client.jar lib/j
 boss-ejb3-proxy-spi-client.jar lib/jboss-ejb3-security-client.jar lib
 /jboss-ejb3-singleton-proxy-impl.jar lib/jboss-el-api_2.2_spec.jar li
 b/jboss-ha-client.jar lib/jboss-ha-legacy-client.jar lib/jboss-integr
 ation.jar lib/jboss-interceptor-core.jar lib/jboss-interceptor-spi.ja
 r lib/jboss-interceptors-api_1.1_spec.jar lib/jboss-j2se.jar lib/jbos
 s-jacc-api_1.4_spec.jar lib/jboss-jad-api_1.2_spec.jar lib/jboss-jasp
 i-api_1.0_spec.jar lib/jboss-jaxb-api_2.2_spec.jar lib/jboss-jaxr-api
 _1.0_spec.jar lib/jboss-jaxrpc-api_1.1_spec.jar lib/jboss-jaxws-api_2
 .2_spec.jar lib/jboss-jms-api_1.1_spec.jar lib/jboss-jmx-annotations.
 jar lib/jboss-jmx.jar lib/jboss-jsp-api_2.2_spec.jar lib/jboss-jsr77-
 client.jar lib/jboss-logging.jar lib/jboss-managed.jar lib/jboss-mars
 halling-river.jar lib/jboss-marshalling.jar lib/jboss-mdr.jar lib/jbo
 ss-metadata-client.jar lib/jboss-metadata-common.jar lib/jboss-metada
 ta-ear.jar lib/jboss-metadata-ejb.jar lib/jboss-metadata-rar.jar lib/
 jboss-metadata-war.jar lib/jboss-metatype.jar lib/jboss-profileservic
 e-client.jar lib/jboss-profileservice-spi.jar lib/jboss-remoting-3.ja
 r lib/jboss-remoting.jar lib/jboss-security-spi.jar lib/jboss-seriali
 zation.jar lib/jboss-servlet-api_3.0_spec.jar lib/jboss-srp-client.ja
 r lib/jboss-system-client.jar lib/jboss-system-jmx-client.jar lib/jbo
 ss-transaction-api_1.1_spec.jar lib/jbossall-client.jar lib/jbossjmx-
 ant.jar lib/jbossjts-integration.jar lib/jbossjts.jar lib/jbosssx-as-
 client.jar lib/jbosssx-client.jar lib/jbossws-common.jar lib/jbossws-
 cxf-client.jar lib/jbossws-cxf-transports-httpserver.jar lib/jbossws-
 framework.jar lib/jbossws-native-core.jar lib/jbossws-spi.jar lib/jbo
 ssxb.jar
Main-Class: HelloClient

As libs encontram-se dentro da pasta client do JBOSS 6.0…

Obrigado…

A

Além do manifest.mf, devo configurar outro arquivo???

Criado 12 de março de 2012
Ultima resposta 14 de mar. de 2012
Respostas 4
Participantes 1