openejb-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mansour Al Akeel <mansour.alak...@gmail.com>
Subject Re: Scripting support
Date Tue, 07 Feb 2012 13:04:09 GMT
Romain,
I didn't understand your answer. Can you please kindly explain.
The installation is completed and I am able to connect to the port of the
ssh server of openEJB. I can list the available EJBs.
I didn't try to deploy any beans I am working on. Not even the examples.

My last question is related to running interactive groovy shell to query
and use evaluate existing beans.
The available command "script <language> <filename>" doesn't produce the
expected output (if I understand correctly).
Here's the steps I did:
1- created a file called "hello.groovy". The script prints a simple
message:
println "hello world from OpenEJB"
2- now I connected through ssh, and typed:
script groovy hello.groovy
I got:
mansour @ localhost:4222> script groovy hello.groovy
javax.script.ScriptException: groovy.lang.MissingPropertyException: No such
property: hello for class: Script36

org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:117)
    javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:247)

org.apache.openejb.server.cli.OpenEJBScripter.evaluate(OpenEJBScripter.java:56)

org.apache.openejb.server.cli.command.ScriptCommand.execute(ScriptCommand.java:31)
    org.apache.openejb.server.cli.CliRunnable.run(CliRunnable.java:206)

org.apache.openejb.server.ssh.OpenEJBCommands.run(OpenEJBCommands.java:68)
    java.lang.Thread.run(Thread.java:662)

3- I tried to add quotations around the filename. but then I am getting the
exact string I put:

mansour @ localhost:4222> script groovy "hello.groovy"
hello.groovy

4- I tried to do simple calculation:
mansour @ localhost:4222> script groovy 1+1
2

It looks like I have to give the text of the script to get some results.
Even assigning a value to a variable is not possible:

mansour @ localhost:4222> script groovy def c=MEJB
javax.script.ScriptException: groovy.lang.MissingPropertyException: No such
property: MEJB for class: Script42

org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:117)
    javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:247)

org.apache.openejb.server.cli.OpenEJBScripter.evaluate(OpenEJBScripter.java:56)

org.apache.openejb.server.cli.command.ScriptCommand.execute(ScriptCommand.java:31)
    org.apache.openejb.server.cli.CliRunnable.run(CliRunnable.java:206)

org.apache.openejb.server.ssh.OpenEJBCommands.run(OpenEJBCommands.java:68)
    java.lang.Thread.run(Thread.java:662)


I am not sure about how to use this shell interactively. The code for the
telnet shell, that allows running groovy commands, coppied all the variable
in the context to the groovy shell, thus made the beans available to the
scripts. How can I achieve the same with this telnet interface ?









On Tue, Feb 7, 2012 at 7:41 AM, Romain Manni-Bucau <rmannibucau@gmail.com>wrote:

> the installation can't be done while the server is running but after the
> interpretation is done at runtime.
>
> - Romain
>
>
> 2012/2/7 Mansour Al Akeel <mansour.alakeel@gmail.com>
>
> > Ok finally. I am able to connect. I guess I can not run an interpret
> > interactively.
> >
> >
> > On Tue, Feb 7, 2012 at 6:23 AM, Mansour Al Akeel
> > <mansour.alakeel@gmail.com>wrote:
> >
> > > OK, please ignore my email. I got working properly. still trying to
> > figure
> > > out how to login. I added to users.properties:
> > > admin=admin
> > > mansour=mansour
> > >
> > > just for a quick test. trying to connect with: ssh -l mansour localhost
> > -P
> > > 4222
> > > not accepting the password.
> > >
> > > Willl see what to do.
> > >
> > >
> > >
> > > On Tue, Feb 7, 2012 at 6:15 AM, Mansour Al Akeel <
> > > mansour.alakeel@gmail.com> wrote:
> > >
> > >> Here's what I got.
> > >>
> > >> INFO - Creating ServerService(id=httpejbd)
> > >> INFO - Creating ServerService(id=cxf)
> > >> INFO - Creating ServerService(id=admin)
> > >> INFO - Creating ServerService(id=ejbd)
> > >> INFO - Creating ServerService(id=ejbds)
> > >> INFO - Creating ServerService(id=hsql)
> > >> INFO - [Server@12b4986]: [Thread[main,5,main]]: checkRunning(false)
> > >> entered
> > >> INFO - [Server@12b4986]: [Thread[main,5,main]]: checkRunning(false)
> > >> exited
> > >> INFO - Creating ServerService(id=ssh)
> > >> SEVERE - Cannot instantiate the service class
> > >> org.apache.openejb.server.ssh.SSHServer. Received error:
> > >> java.lang.NoClassDefFoundError org/apache/sshd/common/KeyPairProvider
> > >> java.lang.NoClassDefFoundError: org/apache/sshd/common/KeyPairProvider
> > >>         at java.lang.Class.getDeclaredConstructors0(Native Method)
> > >>         at
> > java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
> > >>         at java.lang.Class.getConstructors(Class.java:1459)
> > >>         at
> > >>
> >
> org.apache.xbean.recipe.ReflectionUtil.findConstructor(ReflectionUtil.java:603)
> > >>         at
> > >>
> org.apache.xbean.recipe.ObjectRecipe.findFactory(ObjectRecipe.java:563)
> > >>         at
> > >>
> >
> org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:274)
> > >>         at
> > >> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
> > >>         at
> > >> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
> > >>         at
> > >>
> >
> org.apache.openejb.server.ServiceManager.initServer(ServiceManager.java:139)
> > >>         at
> > >>
> >
> org.apache.openejb.server.ServiceManager.initServers(ServiceManager.java:76)
> > >>         at
> > >>
> >
> org.apache.openejb.server.SimpleServiceManager.init(SimpleServiceManager.java:142)
> > >>         at org.apache.openejb.server.Server.init(Server.java:74)
> > >>         at org.apache.openejb.server.Main.initServer(Main.java:154)
> > >>         at org.apache.openejb.server.Main.main(Main.java:128)
> > >>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >>         at
> > >>
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> > >>         at
> > >>
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> > >>         at java.lang.reflect.Method.invoke(Method.java:597)
> > >>         at org.apache.openejb.cli.MainImpl.main(MainImpl.java:148)
> > >>         at org.apache.openejb.cli.Bootstrap.main(Bootstrap.java:103)
> > >> Caused by: java.lang.ClassNotFoundException:
> > >> org.apache.sshd.common.KeyPairProvider
> > >>         at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
> > >>         at java.security.AccessController.doPrivileged(Native Method)
> > >>         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> > >>         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> > >>         at
> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
> > >>         at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
> > >>         ... 20 more
> > >>   ** Starting Services **
> > >>   NAME                 IP              PORT
> > >>   httpejbd             127.0.0.1       4204
> > >>   admin thread         127.0.0.1       4200
> > >>   ejbd                 127.0.0.1       4201
> > >>   ejbd                 127.0.0.1       4203
> > >> INFO - [Server@12b4986]: Initiating startup sequence...
> > >> INFO - [Server@12b4986]: Server socket opened successfully in 37 ms.
> > >>   hsql                 127.0.0.1       9001
> > >> -------
> > >> Ready!
> > >>
> > >> I didn't configure JAAS and left if for the default configuration at
> > >> conf/login.config. I am using standalone openejb and not TomEE
> > >>
> > >>
> > >> This is built from SVN trunk
> > >>
> > >>
> > >>
> > >> On Tue, Feb 7, 2012 at 3:58 AM, Romain Manni-Bucau <
> > rmannibucau@gmail.com
> > >> > wrote:
> > >>
> > >>> Hi,
> > >>>
> > >>> simply get the openejb-ssh-${version}.zip then extract it in
> > >>> $CATALINA_HOME/webapps/tomee/lib.
> > >>>
> > >>> configure jaas in tomcat to be able to use it to connect through ssh.
> > >>>
> > >>> add groovy-all.jar to the same folder (or any other implementation
of
> > the
> > >>> scripting JSR)
> > >>>
> > >>> then simply connect through ssh and call: script <language> <script>
> > >>>
> > >>> - Romain
> > >>>
> > >>>
> > >>> 2012/2/7 Mansour Al Akeel <mansour.alakeel@gmail.com>
> > >>>
> > >>> > Hello all,
> > >>> > I need to use a scripting language to interactively call EJBs.
I
> saw
> > a
> > >>> > thread on the dev list:
> > >>> >
> http://openejb.979440.n4.nabble.com/some-new-modules-td4308643.html
> > >>> >
> > >>> > pointing to this functionality, but there's no documentation or
how
> > to
> > >>> > install and configure it.
> > >>> >
> > >>> > Any hint ?
> > >>> >
> > >>> > Thank you.
> > >>> >
> > >>> >
> > >>> >
> > >>>
> > >>
> > >>
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message