I am getting this error when I am trying to call the stored procedure.

##########################
Statement execute exception
[IBM][JDBC Driver] CLI0605E CallableStatement get*** method did not match the t
ype used in registerOutParameter. SQLSTATE=22005
COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0605E CallableStatement ge
t*** method did not match the type used in registerOutParameter. SQLSTATE=22005
at COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throwTy peError(SQLExceptio
nGenerator.java:525)
at COM.ibm.db2.jdbc.app.DB2CallableStatement.validate Parameter(DB2Callab
leStatement.java:887)
##########################

My Stored procedure is defined as


CREATE PROCEDURE mysp_next_seed2 (OUT arg_result NUMERIC(22,0),
IN arg_seed_name VARCHAR (255), IN arg_count_seed INTEGER, IN arg_seed_offset NUMERIC(22))
LANGUAGE SQL MODIFIES SQL DATA
BEGIN
Set arg_result=200;
END

--------------------------
My Java Code is
--------------------------
long seed=0;


String S_SP_NEXT_SEED_STMT = "{call mysp_next_seed2"+"(?,?,?,?)}";
stmt= con.prepareCall( S_SP_NEXT_SEED_STMT);
System.out.println("Seed Event /" );
stmt.registerOutParameter(1,java.sql.Types.NUMERIC ,2);
stmt.setString(2,"event");
stmt.setInt(3,100);
stmt.setLong(4,0);
stmt.execute();
System.out.println(stmt.getLong(1));