Auf Thema antworten

Hallo liebe Community,


da ich im Moment dabei bin mich in EJBs einzuarbeiten und gerade ein bisschen rumteste, steh ich nun vor einem nicht ganz unerheblichen Problem bei dem ich leider nicht alleine weiter komme :(


Situation sieht wie folgt aus:


Glassfish Server lokal: check

Mysql Server: check

Datenbank namens "appservertest" erstellt: check

Tabelle namens "users" mit Felder: "ID", "Vorname", "Nachname": check

JDBC Pool und Ressource erstellt: Ping erfolgreich


Es geht darum nur einen einzigen Testeintrag in die Tabelle zu schreiben um zu schaun wie das ganze funktioniert. Client ruft vom Bean nur einen Funktion auf und übergibt zwei Strings: Vorname, Nachname.


Bean sieht wie folgt aus:


Interface:

 [code=Java]

import java.sql.SQLException;

import javax.ejb.*;

import javax.naming.NamingException;


@Remote

public interface SimpleBean {

   

    public void mysqlinsertUser(String vorname, String nachname) throws NamingException, SQLException;


}[/code]


soweit so gut :)


Implementation:


[code=Java]

import java.sql.*;

import javax.ejb.*;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

import javax.sql.DataSource;



@Stateless(name="Example", mappedName="ejb/SimpleBeanJNDI")

public class SimpleBeanImp implements SimpleBean{

   

    public void mysqlinsertUser(String vorname, String nachname) throws NamingException, SQLException {

       

        Connection conn = null;

        try{

            Context ctx = new InitialContext();

            DataSource ds = (DataSource) ctx.lookup("NTAlumni");

            conn = ds.getConnection();

            Statement stmt = conn.createStatement();

            stmt.executeUpdate("INSERT INTO 'users' ('ID','Vorname',Nachname') VALUES ('0', 'Max', 'Mustermann');");

           

        }catch(SQLException e){

            conn.close();

        }

       

    }

       

}[/code]


Bean exportiert und in Auto Deplay gehaun, erfolgreich aktiviert, Client gestartet, Funktion aufgerufen,................kein Eintrag in der Tabelle :( sie ist immer noch leer :(


Habe ich vielleicht etwas falsch gemacht oder sogar vergessen? Ich hoffen jemand von euch kann mir weiterhelfen :(


PS: Nicht wundern die Parameter werden noch nicht gebraucht in der Funktion, wollte es erst mit festen Werten probieren.

Gruß Martin



Oben