JsonArray temp = new JsonArray().add(new Timestamp(System.currentTimeMillis()));
java.lang.IllegalStateException: Illegal type in JsonObject: class java.sql.Timestamp
at io.vertx.core.json.impl.Json.checkAndCopy(Json.java:94)
at io.vertx.core.json.JsonArray.add(JsonArray.java:397)
at com.pluggedin.vertx.auth.AuthVertxAPI.authenticate(AuthVertxAPI.java:31)
at com.pluggedin.vertx.pip.PipMainVerticle.start(PipMainVerticle.java:102)
at io.vertx.core.AbstractVerticle.start(AbstractVerticle.java:111)
at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$155(DeploymentManager.java:471)
at io.vertx.core.impl.DeploymentManager$$Lambda$6/891894789.handle(Unknown Source)
at io.vertx.core.impl.ContextImpl.lambda$wrapTask$15(ContextImpl.java:279)
at io.vertx.core.impl.ContextImpl$$Lambda$7/1103017075.run(Unknown Source)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:380)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:745)
checkAndCopy method of Json class does not have the support for sql Timestamp. Can anyone please help me here. String insertQuery = "INSERT INTO TOKEN"
+ " (TOKEN_ID, FROM_DATE, THRU_DATE, USER_LOGIN_ID)"
+ " VALUES (?, ?, ?, ?)";
JsonArray pramToInsert = new JsonArray().add(token.getString("tokenId"))
.add(token.getLong("fromDate"))
.add(token.getLong("thruDate"))
.add(username);
client.getConnection(res -> {
if (res.succeeded()) {
SQLConnection conn = res.result();
System.out.println("Inserting Data " + pramToInsert);
conn.updateWithParams(insertQuery, pramToInsert, insRes -> {
if (insRes.succeeded()) {
UpdateResult updateResult = insRes.result();
System.out.println("No. of rows updated: " + updateResult.getUpdated());
} else {
System.out.println("Failed to insert token in database");
insRes.cause().printStackTrace();
}
});
}
});java.lang.NullPointerException
at java.util.Objects.requireNonNull(Objects.java:203)
at io.vertx.core.json.JsonArray.add(JsonArray.java:396)
at io.vertx.ext.jdbc.impl.actions.JDBCUpdate.executeStatement(JDBCUpdate.java:53)
at io.vertx.ext.jdbc.impl.actions.JDBCUpdate.executeStatement(JDBCUpdate.java:33)
at io.vertx.ext.jdbc.impl.actions.AbstractJDBCStatement.execute(AbstractJDBCStatement.java:44)
at io.vertx.ext.jdbc.impl.actions.AbstractJDBCAction.handle(AbstractJDBCAction.java:48)
at io.vertx.ext.jdbc.impl.actions.AbstractJDBCAction.handle(AbstractJDBCAction.java:33)
at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$14(ContextImpl.java:233)
at io.vertx.core.impl.ContextImpl$$Lambda$82/1994584263.run(Unknown Source)
at io.vertx.core.impl.OrderedExecutorFactory$OrderedExecutor.lambda$new$147(OrderedExecutorFactory.java:91)
at io.vertx.core.impl.OrderedExecutorFactory$OrderedExecutor$$Lambda$4/482052083.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
...
JsonArray pramToInsert = new JsonArray().add("4r0qvk9ifc86tpjsqdbkdetan8")
.add(1435079782539L)
.add(1435166182539L)
.add("admin");// Retrieves any auto-generated keys created as a result of executing this Statement object. If this Statement object did not generate any keys, an empty ResultSet object is Returned.
ResultSet rs = statement.getGeneratedKeys(); JsonArray keys = new JsonArray(); while (rs.next()) { keys.add(convertSqlValue(rs.getObject(1))); }CREATE TABLE TOKEN (ID int GENERATED ALWAYS AS IDENTITY, TOKEN_ID VARCHAR(255), USER_LOGIN_ID VARCHAR(20), FROM_DATE VARCHAR(20), THRU_DATE VARCHAR(20))