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)