0

I am trying to make connection with As400 database and getting below exception that X11 DISPLAY variable was set. In my local environment it is giving the sign-on pop from AS400 class which should not come as i have already specified the credentials. Can you suggest me that how can i make connection without getting that signon popup.

Caused by: java.awt.HeadlessException: No X11 DISPLAY variable was set, but this program performed an operation which requires it. at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204) at java.awt.Window.(Window.java:536) at java.awt.Frame.(Frame.java:420) at java.awt.Frame.(Frame.java:385) at com.ibm.as400.access.ToolboxSignonHandler.displayMessage(ToolboxSignonHandler.java:336) at com.ibm.as400.access.ToolboxSignonHandler.displayMessage(ToolboxSignonHandler.java:323) at com.ibm.as400.access.ToolboxSignonHandler.passwordLengthIncorrect(ToolboxSignonHandler.java:154) at com.ibm.as400.access.AS400.promptSignon(AS400.java:2772) at com.ibm.as400.access.AS400.signon(AS400.java:4017) at com.ibm.as400.access.AS400.connectService(AS400.java:1180) at com.ibm.as400.access.AS400JDBCConnection.setProperties(AS400JDBCConnection.java:3324) at com.ibm.as400.access.AS400JDBCDriver.prepareConnection(AS400JDBCDriver.java:1412) at com.ibm.as400.access.AS400JDBCDriver.initializeConnection(AS400JDBCDriver.java:1249) at com.ibm.as400.access.AS400JDBCDriver.connect(AS400JDBCDriver.java:388) at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:95) at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:101) at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:316) at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:506) at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:118) at com.zaxxer.hikari.HikariDataSource.(HikariDataSource.java:71) at connectionpooling.spring.ConnectionManager.configureBoneCPDataSource(ConnectionManager.java:55) at connectionpooling.actions.ConfigureConnectionPooling.executeAction(ConfigureConnectionPooling.java:41) at connectionpooling.actions.ConfigureConnectionPooling.executeAction(ConfigureConnectionPooling.java:19)

mike
  • 1,233
  • 1
  • 15
  • 36
  • 1
    I doubt the problem is caused by or related to Hikari. – biziclop Feb 03 '17 at 10:53
  • You're probably not providing a user id and/or password to the AS400 object ... if those aren't provided, it will try to prompt for the credentials. If the code is running on the host, use '*CURRENT' for both. – David G Feb 03 '17 at 13:35
  • `HikariConfig config = new HikariConfig(); config.setDriverClassName(customConnectionInfo.getDriverClass()); config.setJdbcUrl(customConnectionInfo.getConnectionString()); config.setUsername(database.getDatabaseUser()); config.setPassword(database.getDatabasePassword()); config.setConnectionTestQuery("VALUES 1"); config.setPoolName("as400"); config.setMaximumPoolSize(customConnectionInfo.getMaxPoolSize()); config.setMinimumIdle(1); connectionPool = new HikariDataSource(config); // setup the connection pool ConnectionManager.setConnectionPool(connectionPool);` – Rohit Gupta Feb 03 '17 at 14:06
  • 1
    As david remarked above, you're likely not properly setting the credentials allowing it to run headless, as shown by the stack line: com.ibm.as400.access.ToolboxSignonHandler.passwordLengthIncorrect(ToolboxSignonHandler.java:154) at com.ibm.as400.access.AS400.promptSignon(AS400.java:2772) at – F Rowe Feb 03 '17 at 15:06
  • I tried setting the hard code values as well but getting the same error. Can you please share if any other way to set the property. – Rohit Gupta Feb 03 '17 at 15:20
  • 1
    David you were right the credentials was not setting properly. As earlier mentioned that it tried using hard code values as well so the problem was related to the Build issue. Thanks for the help – Rohit Gupta Feb 07 '17 at 13:32

0 Answers0