2

I'm migrating a REST web service from Glassfish to JBoss. The database is SQLServer 2005. It worked fine under Glassfish. When I deploy the .war file under JBoss AS 7.1.1 it gives this message

JBAS015870: Deploy of deployment "meteor.rest.war" was rolled back with failure message JBAS014750: Operation handler failed to complete

One person got this message when he had the Datasource misconfigured. The JBoss admin console shows my datasource, so apparently it is OK (though the admin console doesn't give anyway to tell if the datasource works or not).

I've also tried manually connecting with JDBC calls using the same URL string and it works.

When JBoss starts up it gives these messages related to the datasource:

JBAS014775:    New missing/unsatisfied dependencies:
  service jboss.jdbc-driver.sqljdbc (missing) dependents: [service jboss.data-source.java:jboss/Meteor]

10:28:47,578 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015876: Starting deployment of "sqljdbc4.jar"
10:28:47,656 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-7) JBAS010403: Deploying JDBC-compliant driver class com.microsoft.sqlserver.jdbc.SQLServerDriver (version 3.0)

Has anyone else seen this message (the first one), and what does it mean?

Dean Schulze
  • 9,633
  • 24
  • 100
  • 165

1 Answers1

1

This error was due to JBoss not being able to deploy the SQLServer type 4 JDBC driver. When I deployed the driver as a module as described here everything works.

JBoss also cannot deploy the Postgresql type 4 JDBC driver, in spite of the fact that the JBoss documentation recommends installing JDBC type 4 drivers via deployment rather than as modules.

I don't know what is worse, JBoss documentation or JBoss quality. If they can't fix their deployment of type 4 drivers they should change their documentation to say that you should not deploy them and should instead install them as modules.

Community
  • 1
  • 1
Dean Schulze
  • 9,633
  • 24
  • 100
  • 165
  • Out of curiosity, what does `jdbcCompliant()` on the driver return? AFAIK only compliant drivers are deployed. Just because it's type 4 doesn't automatically mean it's complaint. For example the MySQL driver returns `false` although it's type 4 because MySQL doesn't fully support SQL 92. See [bug 62038](http://bugs.mysql.com/bug.php?id=62038) – Philippe Marschall Jul 08 '12 at 08:53