Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-2602

Add clearer message that a VDB cannot be deployed without a JNDI name specified in the .vdb

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Done
    • Minor
    • 8.4.1, 8.5
    • 8.4.1
    • Server
    • None

    Description

      Created a sample VDB in designer, for which the model is to use the loopback connector. Did not specify a JNDI reference, because it doesn't need one. However, the VDB can't be deployed from Designer because there's no connection info for this model. So I hand deployed, but the server doesn't like it that there's no JNDI specified (if I add the JNDI reference, it deploys fine). You get this error:

      08:10:17,265 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001: Failed to start service jboss.deployment.unit."Sample.vdb".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."Sample.vdb".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment "Sample.vdb"
      at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:127) [jboss-as-server-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_13]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_13]
      at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_13]
      Caused by: java.lang.IllegalArgumentException: Empty name segment is not allowed for java
      at org.jboss.msc.service.ServiceName.of(ServiceName.java:85) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
      at org.jboss.msc.service.ServiceName.append(ServiceName.java:112) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
      at org.jboss.as.naming.deployment.ContextNames.buildServiceName(ContextNames.java:183)
      at org.jboss.as.naming.deployment.ContextNames$BindInfo.<init>(ContextNames.java:195)
      at org.jboss.as.naming.deployment.ContextNames$BindInfo.<init>(ContextNames.java:186)
      at org.jboss.as.naming.deployment.ContextNames.bindInfoFor(ContextNames.java:300)
      at org.teiid.jboss.VDBDeployer.addDataSourceListener(VDBDeployer.java:245)
      at org.teiid.jboss.VDBDeployer.dataSourceDependencies(VDBDeployer.java:267)
      at org.teiid.jboss.VDBDeployer.deploy(VDBDeployer.java:153)
      at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:120) [jboss-as-server-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
      ... 5 more

      Can Teiid preempt this and produce a clearer message that its because there's no JNDI specified?

      Attachments

        Activity

          People

            rhn-engineering-shawkins Steven Hawkins
            van.halbert Van Halbert (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: