-
1. Re: Unable to deploy a custome translator in 8.0 alpha1
rareddy Feb 7, 2012 10:29 PM (in response to skethire)Your manifest.mf has "dependencies" line in two lines, may be that is causing that. With out all dependencies I can not deploy your jar in my system to test.
Otherwise, you can also create the jar into a module and add the translator-name manually to the configuration to load it, as Teiid does for its translators.
Ramesh..
-
2. Re: Unable to deploy a custome translator in 8.0 alpha1
skethire Feb 8, 2012 10:25 AM (in response to rareddy)I fixed the manifest.mf - but I see the same behavior.
-
3. Re: Unable to deploy a custome translator in 8.0 alpha1
skethire Feb 8, 2012 11:21 AM (in response to skethire)Deploying the same jar as a module and loading it as a translator through the teiid subsystem works fine.
It seems like there is a problem with the translator jar deployment in 8.0. I haven't tried this in previous releases.
For now, I will use the module approach.
It would also be nice if we can get some feedback on what went wrong during deployment. When module configuration is wrong, JBOSS prints out detailed error message.
In this case I did not get any feedback either during the translator deployment, or during the vdb deployment. The only way I know the vdb is not up is when I try to connect to it.
Thanks
srini
-
4. Re: Unable to deploy a custome translator in 8.0 alpha1
rareddy Feb 8, 2012 12:09 PM (in response to skethire)Srini,
I do not see anything wrong in the code. If you want attach me a simple translator with source code with no other dependencies other than Teiid, I will try to see what is going on.
Ramesh..
-
5. Re: Unable to deploy a custome translator in 8.0 alpha1
rokhmanov Apr 10, 2012 1:14 PM (in response to rareddy)Is this issue with custom translator deployment resolved in 8.0.0.CR1? From what I see all custom translators are expected to be defined as modules, is this true?
Here is my attempt to deploy a custom translator:
- I have a SampleJDBCExecutionFactory (with @Translator name=sample-async), which extends the JDBCExecutionFactory and does nothing.
- Dependency: org.jboss.teiid.common-core,org.jboss.teiid.api,org.jboss.teiid.translator.jdbc
- META-INF/services/org.teiid.translator.ExecutionFactory has com.somepackage.SampleJDBCExecutionFactory #sample-async
- The portfolio-vdb.xml from "DynamicPortfolio" example from Teiid modified in a way that "h2-connector" for "Accounts" model has translator-name="sample-async" instead of "h2".
My expectation is that after placing the custom translator jar into the deployments folder and start standalone (jboss-as-7.1.1.Final) the deployment will complete. Instead I see that all markers (vdb, custom translator) as failed. This is what I see in server.log (the asyncTest jar is my custom translator):
11:56:16,197 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC00001: Failed to start service jboss.teiid.vdb.DynamicPortfolio.1: org.jboss.msc.service.StartException in service j
boss.teiid.vdb.DynamicPortfolio.1: TEIID50035
at org.teiid.jboss.VDBService.createConnectorManagers(VDBService.java:231)
at org.teiid.jboss.VDBService.start(VDBService.java:123)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_02]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_02]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_02]
Caused by: [TeiidException] TEIID50057: Error Code:TEIID50057 Message:TEIID50057 <Missing message for key "TEIID50057" in: org.teiid.runtime.i18n>
1 [ModuleNotFoundException]Module asyncTest-3.0.0-SNAPSHOT.jar:main is not found in local module loader @118e0f0f (roots: C:\Users\rokan01\work\jboss7_teiid8\modules)
at org.teiid.jboss.VDBService.getExecutionFactory(VDBService.java:261)
at org.teiid.jboss.VDBService.createConnectorManagers(VDBService.java:226)
... 6 more
Caused by: org.jboss.modules.ModuleNotFoundException: Module asyncTest-3.0.0-SNAPSHOT.jar:main is not found in local module loader @118e0f0f (roots: C:\Users\rokan01\work\jboss7_teiid8\modules
)
at org.jboss.modules.LocalModuleLoader.findModule(LocalModuleLoader.java:126)
at org.jboss.modules.ModuleLoader.loadModuleLocal(ModuleLoader.java:275)
at org.jboss.modules.ModuleLoader.preloadModule(ModuleLoader.java:222)
at org.jboss.modules.LocalModuleLoader.preloadModule(LocalModuleLoader.java:94)
at org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:204)
at org.teiid.jboss.VDBService.getExecutionFactory(VDBService.java:258)
... 7 more
Thanks,
Andriy
-
6. Re: Unable to deploy a custome translator in 8.0 alpha1
rareddy Apr 10, 2012 1:52 PM (in response to rokhmanov)Andriy,
The issue Srini was having I never could re-produce, so I can not say definitively what is going wrong there. Coming to the issue you are facing, you can deploy a translator two different ways
1) Package into a jar, and create module from it, then define the "translator" in the teiid subsystem configuration in the standalone-teiid.xml file. This recommended for stable configurations.
2) Package into jar, and use deploy mechnisms to deploy into the JBoss AS. Copying it into the "deployments" directory might also work in standalone but not in the domin mode. This recommended during the development as this gives quick deployment and undeployment. Note that when you do this, there is no need to edit the teiid subsystem to add the translator manually or through CLI. This can be done while server is rnning, no restart required.
What is your translator jar file name? I believe it is asyncTest-3.0.0-SNAPSHOT.jar, how did you deploy this? did you see any message on console saying that the translator is deployed?
Ramesh..
-
7. Re: Unable to deploy a custome translator in 8.0 alpha1
rokhmanov Apr 10, 2012 4:29 PM (in response to rareddy)Ramesh,
My translator works fine when I do a module. I have errors when I follow the steps in your way #2. Here is my steps to reproduce the problem, in more details this time:
- Install "dynamicvdb-portfolio" example from docs\teiid\examples\dynamicvdb-portfolio\ (follow the README.txt);
- Start JBoss, make sure portfolio-vdb.xml deployed, DynamicPortfolio.1 VDB is active and return data;
- Copy custom translator jar to standalone/deployment folder, see "TEIID50006 Teiid translator "sample-async" added" and "JBAS018559: Deployed "asyncTest-3.0.0-SNAPSHOT.jar" in server.log
- Modify local copy of portfolio-vdb.xml - replace translator-name="h2" to translator-name="sample-async", overwrite the portfolio-vdb.xml in standalone\deployment;
- See the portfolio-vdb.xml.failed marker and the error message in server.log:
15:20:07,281 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC00001: Failed to start service jboss.teiid.vdb.DynamicPortfolio.1: org.jboss.msc.service.StartException in service jboss.teiid.vdb.DynamicPortfolio.1: TEIID50035
at org.teiid.jboss.VDBService.createConnectorManagers(VDBService.java:231)
at org.teiid.jboss.VDBService.start(VDBService.java:123)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_02]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_02]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_02]
Caused by: [TeiidException] TEIID50057: Error Code:TEIID50057 Message:TEIID50057 <Missing message for key "TEIID50057" in: org.teiid.runtime.i18n>
1 [ModuleNotFoundException]Module asyncTest-3.0.0-SNAPSHOT.jar:main is not found in local module loader @57eaaca (roots: C:\Users\rokan01\work\jboss7_teiid8\modules)
at org.teiid.jboss.VDBService.getExecutionFactory(VDBService.java:261)
at org.teiid.jboss.VDBService.createConnectorManagers(VDBService.java:226)
... 6 more
Caused by: org.jboss.modules.ModuleNotFoundException: Module asyncTest-3.0.0-SNAPSHOT.jar:main is not found in local module loader @57eaaca (roots: C:\Users\rokan01\work\jboss7_teiid8\modules)
at org.jboss.modules.LocalModuleLoader.findModule(LocalModuleLoader.java:126)
at org.jboss.modules.ModuleLoader.loadModuleLocal(ModuleLoader.java:275)
at org.jboss.modules.ModuleLoader.preloadModule(ModuleLoader.java:222)
at org.jboss.modules.LocalModuleLoader.preloadModule(LocalModuleLoader.java:94)
at org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:204)
at org.teiid.jboss.VDBService.getExecutionFactory(VDBService.java:258)
... 7 more
I cannot attache the custom translator source code in reply message, here is the code inline:
file "MANIFEST.MF":
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: rokan01
Build-Jdk: 1.7.0_02
Dependencies: org.jboss.teiid.common-core,org.jboss.teiid.api,org.jbos
s.teiid.translator.jdbc
file "services/org.teiid.translator.ExecutionFactory":
com.ca.chorus.teiid.translator.async.SampleJDBCAsyncExecutionFactory #sample-async
file "SampleJDBCAsyncExecutionFactory.java":
package com.ca.chorus.teiid.translator.async;
import java.sql.Connection;
import org.teiid.language.QueryExpression;
import org.teiid.metadata.RuntimeMetadata;
import org.teiid.translator.ExecutionContext;
import org.teiid.translator.ResultSetExecution;
import org.teiid.translator.Translator;
import org.teiid.translator.TranslatorException;
import org.teiid.translator.jdbc.JDBCExecutionFactory;
@Translator(name="sample-async")
public class SampleJDBCAsyncExecutionFactory extends JDBCExecutionFactory
{
@Override
public ResultSetExecution createResultSetExecution(QueryExpression command,
ExecutionContext executionContext, RuntimeMetadata metadata,
Connection conn) throws TranslatorException
{
return super.createResultSetExecution(command, executionContext, metadata, conn);
}
}
-
8. Re: Unable to deploy a custome translator in 8.0 alpha1
rareddy Apr 10, 2012 11:26 PM (in response to rokhmanov)Andriy,
Yes, that is bug. It was deploying the translator, however it was not able to use in the VDB. Can you open JIRA for this.
Thanks
Ramesh
-
9. Re: Unable to deploy a custome translator in 8.0 alpha1
rareddy Apr 11, 2012 9:26 AM (in response to rareddy) -
10. Re: Unable to deploy a custome translator in 8.0 alpha1
rokhmanov Apr 11, 2012 11:35 AM (in response to rareddy)Thanks Ramesh, I was about to file a bug but noticed you did it already.