First, thank God for VM's and snapshots - makes recovery from system changes a snap!
We have a RHEL 7 server with JasperServer community edition (6.4.2) installed. It's running under Tomcat 7.0.76, and PostgreSQL 9.2.23 for its repository. Everything is working fine.
After installing the latest security patches for RedHat, it no longer runs. During startup I get a huge block of exception traces, the core one seems to be:
Caused by: org.postgresql.util.PSQLException: Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
During testing, I found that pre-update I'd get this error if the jasperdb user's password didn't match from DB to config file. I'd updated both to verify that there wasn't a mismatch - if I did this pre-update everything was fine, but doing it post-update and I still get the error. I used "psql -U jasperdb" to verify I could connect (Q: does this actually use the TCP connection?)
The settings from the META-INF/context.xml file:
driverClassName="org.postgresql.Driver"
type="javax.sql.DataSource"
url="jdbc:postgresql://localhost:5432/jaspercommunity"
username="jasperdb"
password="..."
I don't think there's anything funky required from the firewall settings, as it is working pre-update...
Any ideas of how to diagnose and correct this one?
1 Answer:
Ensure the jdbc connection works outside of JasperReports first. Example jdbc client tool is http://squirrel-sql.sourceforge.net/
You can use this tool to test with the same jdbc driver, connection url and credentials on the same machine as JR.