Hide Forgot
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)
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.