Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    EJB 3.0 stateful help me

    Salve a tutti mi sono appena iscritto al forum.
    Il mio nome è Ciro e da un pò di tempo mi sto avvicinando con la dovuta umiltà alla tecnologia J2EE.
    Vorre un aiuto su un stateful session bean 3.0.
    Vi inoltro il codice, funziona, ma il server mi da un errore e non riesco a capire il perchè
    ecco il codice:

    Interfaccia remota del bean.......
    codice:
    /*
     * cart.java
     *
     * Created on 1 ottobre 2009, 15.28
     *
     * To change this template, choose Tools | Template Manager
     * and open the template in the editor.
     */
    
    package esempiopack;
    
    
    import java.util.Collection;
    import javax.ejb.Remote;
    
    @Remote
    public interface cart {
        public void addItem(String item);
        public void removeItem(String item);
        public Collection getItems();
    }
    Corpo del bean........

    codice:
    package esempiopack;
    
    import java.util.ArrayList;
    import java.util.Collection;
    import javax.ejb.PostConstruct;
    import javax.ejb.Stateless;
    
    @Stateless
    public class cartbean implements cart {
        private ArrayList items;
    
        @PostConstruct
        public void initialize() {
            items = new ArrayList();
        }
        
        public void addItem(String item) {
            items.add(item);
        }
    
        public void removeItem(String item) {
            items.remove(item);
        }
    
        public Collection getItems() {
            return items;
        }
    }
    classe di esecuzione........

    codice:
    package provabean;  
    
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import java.util.Collection;
    import java.util.Iterator;
    import javax.naming.Context;
    import esempiopack.*;
    public class prova {
        
       
        /**
         * @param args the command line arguments
         */
           public static void main(String[] args) throws NamingException {
     final Context ctx = getInitialContext();   
            ctx.addToEnvironment("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
            ctx.addToEnvironment("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
            ctx.addToEnvironment("java.naming.provider.url","localhost");
            cart appo = (cart)ctx.lookup(cart.class.getName());
                System.out.println("Adding items to cart");
                
                appo.addItem("Pizza");
                appo.addItem("Pasta");
                appo.addItem("Noodles");
                appo.addItem("Bread");
                appo.addItem("Butter");
                
                
                System.out.println("Listing cart contents");
                Collection items = appo.getItems();
                for (Iterator i = items.iterator(); i.hasNext();) 
                {
                String item = (String) i.next();
                System.out.println("  " + item);
                }
        
           }
           
           
           private static Context getInitialContext() throws NamingException {        return new InitialContext();    }
    }
    Ecco il risultato del primo lancio........

    codice:
    init:
    deps-jar:
    init:
    deps-jar:
    compile:
    library-inclusion-in-archive:
    dist:
    compile:
    run:
    ciro2
    Adding items to cart
    Listing cart contents
      Pizza
      Pasta
      Noodles
      Bread
      Butter
    BUILD SUCCESSFUL (total time: 2 seconds)
    Ecco il risultato dei successivi lanci........

    codice:
    init:
    deps-jar:
    init:
    deps-jar:
    compile:
    library-inclusion-in-archive:
    dist:
    compile:
    run:
    ciro2
    Adding items to cart
    Listing cart contents
      Pizza
      Pasta
      Noodles
      Bread
      Butter
      Pizza
      Pasta
      Noodles
      Bread
      Butter
      Pizza
      Pasta
      Noodles
      Bread
      Butter
      Pizza
      Pasta
      Noodles
      Bread
      Butter
      Pizza
      Pasta
      Noodles
      Bread
      Butter
      Pizza
      Pasta
      Noodles
      Bread
      Butter
      Pizza
      Pasta
      Noodles
      Bread
      Butter
      Pizza
      Pasta
      Noodles
      Bread
      Butter
      Pizza
      Pasta
      Noodles
      Bread
      Butter
      Pizza
      Pasta
      Noodles
      Bread
      Butter
    BUILD SUCCESSFUL (total time: 0 seconds)
    Ma ad ogni lancio mi dà questo errore............

    codice:
    09:56:55,920 ERROR [ServerThread] failed
    java.net.SocketException: Connection reset
            at java.net.SocketInputStream.read(SocketInputStream.java:168)
            at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
            at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
            at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2196)
            at java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(ObjectInputStream.java:2376)
            at java.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStream.java:2443)
            at java.io.ObjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2515)
            at java.io.ObjectInputStream$BlockDataInputStream.readByte(ObjectInputStream.java:2664)
            at java.io.ObjectInputStream.readByte(ObjectInputStream.java:875)
            at org.jboss.remoting.transport.socket.ServerSocketWrapper.checkConnection(ServerSocketWrapper.java:54)
            at org.jboss.remoting.transport.socket.ServerThread.acknowledge(ServerThread.java:217)
            at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:298)
            at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:169)

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Benvenuto sul forum.
    Prendi subito visione del Regolamento interno per conoscere tutte le norme di partecipazione, in particolare l'uso dei titoli (e di ciò che non va scritto, come "help me") e l'utilizzo degli appositi tag CODE per il posting del codice (indentato).

    Sistemo io la discussione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.