| Summary: | SOA-P 5.1 ER1 - teiid adminshell - getAdmin() returns: ERROR org.teiid.core.TeiidRuntimeException: toString | ||
|---|---|---|---|
| Product: | [JBoss] JBoss Enterprise SOA Platform 5 | Reporter: | Len DiMaggio <ldimaggi> |
| Component: | EDS | Assignee: | Van Halbert <vhalbert> |
| Status: | CLOSED NEXTRELEASE | QA Contact: | |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 5.1.0.ER1 | ||
| Target Milestone: | --- | ||
| Target Release: | 5.1.0.ER3 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| URL: | http://jira.jboss.org/jira/browse/SOA-2333 | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2010-10-21 18:36:36 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
From the server.log:
2010-09-20 21:05:12,779 DEBUG [org.teiid.TRANSPORT] (New I/O server worker #2-1) processing message:MessageHolder: contents=javax.crypto.SealedObject@184f3d2
2010-09-20 21:05:12,779 DEBUG [org.teiid.SECURITY] (New I/O server worker #2-1) Ping Kk0mPtvgEWRN
2010-09-20 21:05:12,779 DEBUG [org.teiid.TRANSPORT] (New I/O server worker #2-1) message: MessageHolder: contents=javax.crypto.SealedObject@1a390fc for request ID:3
2010-09-20 21:05:12,781 DEBUG [org.teiid.TRANSPORT] (New I/O server worker #2-1) processing message:MessageHolder: contents=org.teiid.net.socket.ServiceInvocationStruct@1e4aa02
2010-09-20 21:05:12,781 ERROR [org.teiid.ADMIN_API] (New I/O server worker #2-1) Unexpected exception for session Kk0mPtvgEWRN
java.lang.NoSuchMethodException: toString
at org.teiid.core.util.ReflectionHelper.findBestMethodWithSignature(ReflectionHelper.java:174)
at org.teiid.core.util.ReflectionHelper.findBestMethodOnTarget(ReflectionHelper.java:91)
at org.teiid.transport.ServerWorkItem.run(ServerWorkItem.java:78)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:189)
at org.teiid.transport.SocketClientInstance.processMessagePacket(SocketClientInstance.java:160)
at org.teiid.transport.SocketClientInstance.receivedMessage(SocketClientInstance.java:149)
at org.teiid.transport.SSLAwareChannelHandler.messageReceived(SSLAwareChannelHandler.java:210)
at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:100)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:144)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:317)
at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:299)
at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:216)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:540)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:340)
at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:272)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:192)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
Link: Added: This issue depends TEIID-1270 According to Teiid, this has been resolved and will be in the ER3 build. The specific error originally reported in this JIRA is resolved in ER2:
groovy:000> getAdmin()
===> org.teiid.adminapi.AdminFactory$AdminProxy@1549ceb
But - is the fix only partially implemented? using the object returned by getAdmin() returns this:
groovy:000> getAdmin().getAllConnections()
ERROR groovy.lang.MissingMethodException:
No signature of method: $Proxy7.getAllConnections() is applicable for argument types: () values: []
at groovysh_evaluate.run (groovysh_evaluate:3)
...
AdminShell commands != Admin.Interface methods Teiid exposes a Admin interface (http://anonsvn.jboss.org/repos/teiid/trunk/client/src/main/java/org/teiid/adminapi/Admin.java) for administration purposes. However in the AdinShell for the usability purposes exposes all the Admin methods from this interface along with some other methods for the ease of interactive/script environments. For example: deployVDB on the Admin interface takes a InputStream as input. the same method on AdminShell takes, String for the file name of the VDB. So from the above "getAllConnections()" is not a method on the "Admin" interface, it is a AdminShell method. I have updated the "help" text on this method to specify what this method returns. Verified fixed in 5.1 ER3 build. |
project_key: SOA sh ./adminshell.sh ====================================================================== Teiid AdminShell Bootstrap Environment TEIID_HOME = /jboss/local/51_ER1/jboss-soa-p.5/teiid/adminshell CLASSPATH = /jboss/local/51_ER1/jboss-soa-p.5/teiid/adminshell/lib/patches/*:/jboss/local/51_ER1/jboss-soa-p.5/teiid/adminshell/lib/teiid-adminshell-7.1.1.Alpha1.jar:/jboss/local/51_ER1/jboss-soa-p.5/teiid/adminshell/lib/* JAVA = /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0//bin/java ====================================================================== ===> [import static org.teiid.adminshell.AdminShell.*; import static org.teiid.adminshell.GroovySqlExtensions.*; import org.teiid.adminapi.*;] Groovy Shell (1.7.2, JVM: 1.6.0_0) Type 'help' or '\h' for help. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- groovy:000> connectAsAdmin("mm://localhost:31443", "admin", "admin", "conn-1") ===> null groovy:000> getAllConnections() ===> [conn-1] groovy:000> getAdmin() ERROR org.teiid.core.TeiidRuntimeException: toString at org.teiid.client.util.ExceptionUtil.convertException (ExceptionUtil.java:80) at org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler.invoke (SocketServerInstanceImpl.java:365) at org.teiid.net.socket.SocketServerConnection$1.invoke (SocketServerConnection.java:216) at $Proxy7.toString (Unknown Source) at org.teiid.adminapi.AdminFactory$AdminProxy.invoke (AdminFactory.java:80) at $Proxy7.toString (Unknown Source) at java_lang_String$valueOf.call (Unknown Source) at java_lang_String$valueOf.call (Unknown Source) at java_lang_Runnable$run.call (Unknown Source) at org.teiid.adminshell.GroovyAdminShell.main (GroovyAdminShell.java:30)