public static synchronized String getNonProcessedLink(){ Connection connection = getConnection(); if (connection != null) { try { PreparedStatement pStmt = connection.prepareStatement( /////////// line gettting issue at ///////////// at crawler.BasicDAO.getNonProcessedLink(BasicDAO.java:217) "SELECT pg_advisory_lock(id), href from links where processed = false limit 1" );.........}public static synchronized boolean loadDriver(){ try { Class.forName("org.postgresql.Driver"); } catch (ClassNotFoundException e) { System.out.println("PostgreSQL JDBC Driver not found in application directory "); e.printStackTrace(); return false; } return true; } public static synchronized void closeConnection(){ if(connection != null){ try { connection.close(); } catch (SQLException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } } }Exception in thread "Thread-0" java.lang.StackOverflowError at java.lang.String.<init>(String.java:203) at java.lang.StringBuilder.toString(StringBuilder.java:405) at java.text.MessageFormat.applyPattern(MessageFormat.java:510) at java.text.MessageFormat.<init>(MessageFormat.java:363) at java.text.MessageFormat.format(MessageFormat.java:835) at org.postgresql.util.GT.translate(GT.java:81) at org.postgresql.util.GT.tr(GT.java:28) at org.postgresql.jdbc2.AbstractJdbc2Connection.checkClosed(AbstractJdbc2Connection.java:822) at org.postgresql.jdbc3.AbstractJdbc3Connection.prepareStatement(AbstractJdbc3Connection.java:273) at org.postgresql.jdbc2.AbstractJdbc2Connection.prepareStatement(AbstractJdbc2Connection.java:301) at crawler.BasicDAO.getNonProcessedLink(BasicDAO.java:217) at crawler.Crawler.getNonProcessedLinkFromDB(Crawler.java:130)