[ANN] GroovyServ 0.10 released

已查看 31 次
跳至第一个未读帖子

Yasuharu Nakano

未读,
2012年3月30日 06:03:522012/3/30
收件人 groov...@googlegroups.com、us...@groovy.codehaus.org
Hi,

We are pleased to announce about the release of GroovyServ 0.10.

http://kobo.github.com/groovyserv/
http://kobo.github.com/groovyserv/download.html
* if it seems old, please clear the browser caches.

Please inform us anything about GroovyServ.

Regards,
--
Yasuharu NAKANO / nobeans

-------------------------------------------------------
[Changelogs]

New Features:
- [Client] -v option can also display the GroovyServ's version.
- [Network] Supported --allow-from option at groovyserver(sh). If
'localhost' is resolved except to loopback address in your
environment, you can use --allow-from option with groovyserver(sh). In
future, I want to support that groovyclient could access a
groovyserver at remote host in security. This is the first step.

Bug Fixes:
- Fixed 39: Processing of Groovy cmd line args is inconsistent
- https://github.com/kobo/groovyserv/issues/39
- Fixed 40: "System.env[name]" cannot access environment variables
at client side
- https://github.com/kobo/groovyserv/issues/40
- Fixed 41: ruby client cannot invoke groovyserver automatically
in windows 7
- https://github.com/kobo/groovyserv/issues/41
- And other small fixes and improvements are included.

Roger Studner

未读,
2012年3月30日 06:31:402012/3/30
收件人 groov...@googlegroups.com、us...@groovy.codehaus.org
So.. curious.. for a LONG TIME.. (i'm on OSX Lion at the moment)..

if I do ./groovyclient nd hit return… it just hangs on:

Starting.

i.e.:
rs:bin me$ ./groovyclient
Invoking server: './groovyserver' -p 1961
Groovy home directory: /opt/groovy
Groovy command path: /opt/groovy/bin/groovy (found at GROOVY_HOME)
GroovyServ home directory: /opt/groovyserv-0.10
GroovyServ work directory: /Users/rstudner/.groovy/groovyserv
Original classpath: (none)
GroovyServ default classpath: /opt/groovyserv-0.10/lib/*
Starting.

Any ideas why this is the case?

Best,
Roger

Yasuharu Nakano

未读,
2012年3月30日 06:43:282012/3/30
收件人 groov...@googlegroups.com、us...@groovy.codehaus.org
hmm... the binary for mac is built on OSX SnowLepard. it might be the cause.
can you try to build it from source by yourself?

2012年3月30日19:31 Roger Studner <rstu...@gmail.com>:

Yasuharu Nakano

未读,
2012年3月30日 06:51:192012/3/30
收件人 groov...@googlegroups.com、us...@groovy.codehaus.org
please try the follows:

$ groovyserver -v

if it failed, see ~/.groovy/groovyserv/groovyserver-1961.log.
if it succeeded, then try:

$ groovyclient -v
$ groovyserver -k
$ groovyclient -v

what's happened?
if they failed too, see ~/.groovy/groovyserv/groovyserver-1961.log.

2012年3月30日19:43 Yasuharu Nakano <yn...@jggug.org>:

Roger Studner

未读,
2012年3月30日 06:53:152012/3/30
收件人 groov...@googlegroups.com、us...@groovy.codehaus.org
$ sh -c /Users/me/g/groovyserv-0.10/build/executables/bin/groovyserver -r -v

Groovy home directory: /opt/groovy
Groovy command path: /opt/groovy/bin/groovy (found at GROOVY_HOME)
GroovyServ home directory: /Users/me/g/groovyserv-0.10/build/executables
GroovyServ work directory: /Users/me/.groovy/groovyserv
Original classpath: (none)
GroovyServ default classpath: /Users/rstudner/g/groovyserv-0.10/build/executables/lib/*
Process of groovyserver of 63162(1961) not found
Restarting groovyserver
Starting..
> Building > :integrationTestForCUnix

And that is where it sits (this also has been true for many versions.. even if I bulid from source)

Best,
Roger

Roger Studner

未读,
2012年3月30日 06:58:422012/3/30
收件人 groov...@googlegroups.com、us...@groovy.codehaus.org
THe last thing in the log (there are more):
2012/03/30 06:57:47.075 Failed to invoke RequestWorker: Socket[addr=/127.0.0.1,port=49499,localport=1961]
2012/03/30 06:57:47.075 ---> org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'groovy.lang.Reference@11742dfe' with class 'groovy.lang.Reference' to class 'java.lang.Runnable'
2012/03/30 06:57:47.075 at org.jggug.kobo.groovyserv.RequestWorker$2.<init>(RequestWorker.groovy)
2012/03/30 06:57:47.075 at org.jggug.kobo.groovyserv.RequestWorker.newTaskFor(RequestWorker.groovy:85)
2012/03/30 06:57:47.075 at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:77)
2012/03/30 06:57:47.075 at java_util_concurrent_ExecutorService$submit.callCurrent(Unknown Source)
2012/03/30 06:57:47.075 at org.jggug.kobo.groovyserv.RequestWorker.start(RequestWorker.groovy:67)
2012/03/30 06:57:47.075 at org.jggug.kobo.groovyserv.RequestWorker$start.call(Unknown Source)
2012/03/30 06:57:47.075 at org.jggug.kobo.groovyserv.GroovyServer.handleRequest(GroovyServer.groovy:90)
2012/03/30 06:57:47.075 at org.jggug.kobo.groovyserv.GroovyServer.start(GroovyServer.groovy:45)
2012/03/30 06:57:47.075 at org.jggug.kobo.groovyserv.GroovyServer$start.call(Unknown Source)
2012/03/30 06:57:47.075 at org.jggug.kobo.groovyserv.GroovyServer.main(GroovyServer.groovy:33)
2012/03/30 06:57:47.075 at org.jggug.kobo.groovyserv.GroovyServer$main.call(Unknown Source)
2012/03/30 06:57:47.075 at script_from_command_line.run(script_from_command_line:1)
2012/03/30 06:57:47.075 at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:266)
2012/03/30 06:57:47.075 at groovy.lang.GroovyShell.run(GroovyShell.java:517)
2012/03/30 06:57:47.075 at groovy.lang.GroovyShell.run(GroovyShell.java:172)
2012/03/30 06:57:47.075 at groovy.ui.GroovyMain.processOnce(GroovyMain.java:551)
2012/03/30 06:57:47.075 at groovy.ui.GroovyMain.run(GroovyMain.java:335)
2012/03/30 06:57:47.075 at groovy.ui.GroovyMain.process(GroovyMain.java:321)
2012/03/30 06:57:47.075 at groovy.ui.GroovyMain.processArgs(GroovyMain.java:118)
2012/03/30 06:57:47.075 at groovy.ui.GroovyMain.main(GroovyMain.java:99)
2012/03/30 06:57:47.075 at java.lang.reflect.Method.invoke(Method.java:597)
2012/03/30 06:57:47.075 (sanitized)

Roger Studner

未读,
2012年3月30日 07:00:182012/3/30
收件人 groov...@googlegroups.com、us...@groovy.codehaus.org
For be more complete.. here is 100% of what is in my (cleared out) groovyserv log:

DEBUG: 2012/03/30 06:59:26.012 System.getenv is replaced
2012/03/30 06:59:26.064 Server started with port: 1961
DEBUG: 2012/03/30 06:59:26.073 getenv(CLASSPATH) => /opt/groovyserv-0.10/lib/*
2012/03/30 06:59:26.074 Default classpath: /opt/groovyserv-0.10/lib/*
DEBUG: 2012/03/30 06:59:26.091 Saved cookie: d4f836c5c9b076ce
DEBUG: 2012/03/30 06:59:26.215 Recieved socket: Socket[addr=/127.0.0.1,port=49534,localport=1961]
DEBUG: 2012/03/30 06:59:26.224 Accepted socket: Socket[addr=/127.0.0.1,port=49534,localport=1961]
DEBUG: 2012/03/30 06:59:26.265 ClientConnectionRepository: Client connection is bound: ClientConnection:49534 to GServThreadGroup:49534
DEBUG: 2012/03/30 06:59:26.296 ClientProtocols:49534: Parsed headers: [Cwd:[/opt/groovyserv-0.10/bin], Cookie:[d4f836c5c9b076ce], Arg:[LWU=, IiI=], Cp:[/opt/groovyserv-0.10/lib/*]]
DEBUG: 2012/03/30 06:59:26.309 RequestWorker:49534: Future task of handler is created: StreamRequestHandler:49534
2012/03/30 06:59:26.311 Failed to invoke RequestWorker: Socket[addr=/127.0.0.1,port=49534,localport=1961]
2012/03/30 06:59:26.311 ---> org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'groovy.lang.Reference@156a9424' with class 'groovy.lang.Reference' to class 'java.lang.Runnable'
2012/03/30 06:59:26.311 at org.jggug.kobo.groovyserv.RequestWorker$2.<init>(RequestWorker.groovy)
2012/03/30 06:59:26.311 at org.jggug.kobo.groovyserv.RequestWorker.newTaskFor(RequestWorker.groovy:85)
2012/03/30 06:59:26.311 at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:77)
2012/03/30 06:59:26.311 at java_util_concurrent_ExecutorService$submit.callCurrent(Unknown Source)
2012/03/30 06:59:26.311 at org.jggug.kobo.groovyserv.RequestWorker.start(RequestWorker.groovy:67)
2012/03/30 06:59:26.311 at org.jggug.kobo.groovyserv.RequestWorker$start.call(Unknown Source)
2012/03/30 06:59:26.311 at org.jggug.kobo.groovyserv.GroovyServer.handleRequest(GroovyServer.groovy:90)
2012/03/30 06:59:26.311 at org.jggug.kobo.groovyserv.GroovyServer.start(GroovyServer.groovy:45)
2012/03/30 06:59:26.311 at org.jggug.kobo.groovyserv.GroovyServer$start.call(Unknown Source)
2012/03/30 06:59:26.311 at org.jggug.kobo.groovyserv.GroovyServer.main(GroovyServer.groovy:33)
2012/03/30 06:59:26.311 at org.jggug.kobo.groovyserv.GroovyServer$main.call(Unknown Source)
2012/03/30 06:59:26.311 at script_from_command_line.run(script_from_command_line:1)
2012/03/30 06:59:26.311 at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:266)
2012/03/30 06:59:26.311 at groovy.lang.GroovyShell.run(GroovyShell.java:517)
2012/03/30 06:59:26.311 at groovy.lang.GroovyShell.run(GroovyShell.java:172)
2012/03/30 06:59:26.311 at groovy.ui.GroovyMain.processOnce(GroovyMain.java:551)
2012/03/30 06:59:26.311 at groovy.ui.GroovyMain.run(GroovyMain.java:335)
2012/03/30 06:59:26.311 at groovy.ui.GroovyMain.process(GroovyMain.java:321)
2012/03/30 06:59:26.311 at groovy.ui.GroovyMain.processArgs(GroovyMain.java:118)
2012/03/30 06:59:26.311 at groovy.ui.GroovyMain.main(GroovyMain.java:99)
2012/03/30 06:59:26.311 at java.lang.reflect.Method.invoke(Method.java:597)
2012/03/30 06:59:26.311 (sanitized)


On Mar 30, 2012, at 6:51 AM, Yasuharu Nakano wrote:

Yasuharu Nakano

未读,
2012年3月30日 07:04:522012/3/30
收件人 groov...@googlegroups.com、us...@groovy.codehaus.org
Hi Roger,

ok, I see. I saw the error message "Cannot cast object
'groovy.lang.Reference@11742dfe" before.
https://github.com/kobo/groovyserv/issues/38
Sorry, groovyserv requires groovy1.8.5+ now. I forgot to fix the
documentation about the requirement. I'll do it soon.

Could you upgrade groovy version?

regards,
yasuharu

2012年3月30日20:00 Roger Studner <rstu...@gmail.com>:

Roger Studner

未读,
2012年3月30日 07:50:282012/3/30
收件人 groov...@googlegroups.com、us...@groovy.codehaus.org
That was it! thanks man (and i'm having success using the snow leopard binary on lion if that is good to know). I have the lion compiled version ready just in case hah, but haven't had to switch yet!

Best,
Roger

Yasuharu Nakano

未读,
2012年3月30日 07:59:562012/3/30
收件人 groov...@googlegroups.com、us...@groovy.codehaus.org
thank you for very rapid and nice feedback, Roger!

2012年3月30日20:50 Roger Studner <rstu...@gmail.com>:

Roger Studner

未读,
2012年3月30日 08:08:192012/3/30
收件人 groov...@googlegroups.com、us...@groovy.codehaus.org
Well.. it is you, not I, that provide this awesome piece of work to the community. So I just want to make sure I help out.. no one can expect people to make sure these things are perfect for all versions of groovy/all operating systems etc… on their own

(that being said, I run it on windows, osx and linux hah)

Roger

Yasuharu Nakano

未读,
2012年3月30日 08:42:562012/3/30
收件人 groov...@googlegroups.com、us...@groovy.codehaus.org
I'm encouraged to hear you say that. As you say, a native application
is very difficult for me because it's very sensitive for environment.
so users' feedback is very helpful for me. thanks a lot.

2012年3月30日21:08 Roger Studner <rstu...@gmail.com>:

Alexey Panteleev

未读,
2012年6月12日 17:54:222012/6/12
收件人 groov...@googlegroups.com、us...@groovy.codehaus.org

Hello NAKANO san, I've installed the latest GroovyServe on my FreeBSD box a while back and it works very well. I use it for running mail rewriting utilities/filters called by procmail. Those are short running jobs that need to start frequently on a new set of data. Without GroovyServ (or something like Nailgun for Java) I could not have used java/groovy for this. Really pleased with your solution.

A question. Is there an API that would allow me to call methods of my classes loaded into GroovyServe from another JVM, i.e. from a servlet in an application server? I know I can always exec a groovy script from my servlet but a java|groovyclient API call would be quite convenient.

Thank you

Yasuharu Nakano

未读,
2012年6月13日 07:09:062012/6/13
收件人 groov...@googlegroups.com、us...@groovy.codehaus.org
Hi Alexey,

> Hello NAKANO san, I've installed the latest GroovyServe on my FreeBSD box a
> while back and it works very well. I use it for running mail rewriting
> utilities/filters called by procmail. Those are short running jobs that need
> to start frequently on a new set of data. Without GroovyServ (or something
> like Nailgun for Java) I could not have used java/groovy for this. Really
> pleased with your solution.

Thanks!

> A question. Is there an API that would allow me to call methods of my
> classes loaded into GroovyServe from another JVM, i.e. from a servlet in an
> application server? I know I can always exec a groovy script from my servlet
> but a java|groovyclient API call would be quite convenient.

Now, there isn't. but it's a interesting idea. groovyclient and
groovyserver just communicates by text base protocol on TCP. So it
might be realizable easily. actually, there are a similar code in
DirectAccessIT.groovy.

Ok, I've stocked the idea into my backlog:
- remote-accessible groovyserver
- [New!] groovyclient API using with java/groovy

Cheers,
回复全部
回复作者
转发
0 个新帖子