sameer nanda wrote:

Hello Geoff,

When you say runs of cocoon, what do you mean by that???
Actually what I interpret is Cocoon is not running as a service, nor am I deplying the cocoon war file in the servlet engine, which in my case would ne Tomcat, so how do I find out where and how is cocoon running on my machine ???

I just meant the Cocoon process - i.e., if you started "./cocoon.sh servlet" did you also shut it down. I suspect you did (or used the cli which stops running without being shutdown), and hence the advice which followed.


I just read your message more carefully and you said some things that didn't make sense. You started Cocoon with "./cocoon.sh cli" but then reported that Cocoon was available in your browser. Are you sure that is the case? CLI stands for "command line interface" and is a non-servlet environment for Cocoon, though the version in 2.1.2 may have been less sophisticated than it is now and may have started the servlet in the background. If you are trying to browse samples in your browser, start "./cocoon.sh servlet" instead.

Now,

Also when I look into the cocoon.xconf file searching for HSQL port , I see the following:

<!--+
      | HSQLDB Server for samples:
      |
      |  port   : number      port where the server is listening
      |  silent : true/false  display all queries
      |  trace  : true/false  display JDBC trace messages
      +-->
  <hsqldb-server class="org.apache.cocoon.components.hsqldb.ServerImpl" logger="core.hsqldb-server" 
pool-max="1" pool-min="1">
     <parameter name="port" value="9002"/>
     <parameter name="silent" value="true"/>
     <parameter name="trace" value="false"/>
  </hsqldb-server>

Now do you know what do I have to change here ????
I have no clue  what to do???

Don't change anything - use the port number 9002 to track down the stuck hsql pid and kill it. On linux this would be netstat -pn | grep 9002 then note the pid number use kill or kill -9 on it. Solaris makes it harder to find the pid IIRC.


Geoff


On Sat, 08 May 2004 Geoff Howard wrote :


Actually, from the stack trace, it looks like the bind exception is happening during HSQL startup which is historically the leading cause of this in cocoon startups. Make sure that previous runs of Cocoon are shut down before restarting. If you have otherwise ensured that Cocoon shut down (or were using the cli the first run through) then it would seem that hsql did not shut down cleanly, which was a bug at some point(s) in the past.

My recommendation is to look into cocoon.xconf, find the hsql port (or search the list archives - surely it's there) and see if you have a process attached to that port and kill the pid. Please report back what happens so others can benefit from your experience.

Geoff


sameer nanda wrote:



Hello Everybody,

I am not sure how can I restart Cocoon2.1.2 (or rebuild coccon), after I add a new database or want to create a new table using the already existing HSQL script "cocoondb.script".

I am trying to run the application from the book Cocoon: Building XML Application, chapter 7, which tell you how to add a new database or connect to the existing HSQL database.

I have configured my Cocoon2.1.2 from source distribution, as shown below:

-> downloaded the latest source version and installed using
1) build cocoon using "build"
2) run cocoon using  "./cocoon.sh cli"
3) http://ip-add:8888  points to the welcome page of cocoon

I add the follwing lines to the cocoondb.script file :

CREATE TABLE PORTALUSER_TABLE(ID VARCHAR,PASSWORD VARCHAR,COLOR VARCHAR,UNIQUE(ID))
CREATE TABLE MOREOVER_TABLE(ID INTEGER,NAME VARCHAR,NEWSFEED VARCHAR,UNIQUE(ID))

INSERT INTO PORTALUSER_TABLE VALUES('cocoon','magic','white')
INSERT INTO PORTALUSER_TABLE VALUES('matthew','wizard','yellow')
INSERT INTO MOREOVER_TABLE VALUES(1,'matthew','banking')
INSERT INTO MOREOVER_TABLE VALUES(2,'cocoon','usa')
INSERT INTO MOREOVER_TABLE VALUES(3,'cocoon','banking')

=========================================================

Now since I am trying to add a new table and insert some values into it, I have to restart my cocoon, this is how I try to restart cocoon using:

shell> ./coccon.sh cli

but get an error msg at the end ....


-------------------- Executing ----------------- Main Class: org.apache.cocoon.Main ------------------------------------------------------------------------ cocoon 2.1.2 Copyright (c) 1999-2003 Apache Software Foundation. All rights reserved. ------------------------------------------------------------------------


ERROR 2004-05-07 14:44:35.412 [ ] (): Could not find the configuration file. Exception in thread "main" java.lang.reflect.InvocationTargetException 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:324) at Loader.invokeMain(Unknown Source) at Loader.run(Unknown Source) at Loader.main(Unknown Source) Caused by: java.io.FileNotFoundException: The configuration file could not be found. at org.apache.cocoon.bean.CocoonWrapper.getConfigurationFile(CocoonWrapper.java:235) at org.apache.cocoon.bean.CocoonWrapper.initialize(CocoonWrapper.java:142) at org.apache.cocoon.bean.CocoonBean.initialize(CocoonBean.java:119) at org.apache.cocoon.Main.main(Main.java:400) ... 7 more

=====================================================================



Now question is that is this the proper way to restart cocoon in my case, or their is something else i need to do . I even tried with:

shell> ./cocoon.sh servlet

and this time I get BindException, which is true bcos its already bound to the port 8888. This is how the msg looks like:

./cocoon.sh: using ./build/webapp as the webapp directory
-------------------- Loading --------------------
Processing repository: ./tools/jetty/lib
Adding jar: ./tools/jetty/lib/jetty-4.2.9.jar
Adding jar: ./tools/jetty/lib/servlet-2.3.jar
Processing repository: ./lib/endorsed
Adding jar: ./lib/endorsed/xalan-2.5.1.jar
Adding jar: ./lib/endorsed/xercesImpl-2.5.0.jar
Adding jar: ./lib/endorsed/xml-apis.jar
-------------------- Executing -----------------
Main Class: org.mortbay.jetty.Server
14:47:54.865 EVENT  Starting Jetty/4.2.9
14:47:55.846 EVENT  Started WebApplicationContext[/,./build/webapp]
server.properties not found, using command line or default properties
Opening database: /home/g_snanda/cocoon-2.1.2/build/webapp/WEB-INF/db/cocoondb
HSQLDB server 1.7.1 is running
Use SHUTDOWN to close normally. Use [Ctrl]+[C] to abort abruptly
Server.run/init: java.net.BindException: Address already in use
java.net.BindException: Address already in use
       at java.net.PlainSocketImpl.socketBind(Native Method)
       at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:321)
       at java.net.ServerSocket.bind(ServerSocket.java:308)
       at java.net.ServerSocket.bind(ServerSocket.java:266)
       at java.net.ServerSocket.<init>(ServerSocket.java:182)
       at java.net.ServerSocket.<init>(ServerSocket.java:94)
       at org.hsqldb.Server.run(Unknown Source)
       at org.hsqldb.Server.main(Unknown Source)
       at org.apache.cocoon.components.hsqldb.ServerImpl.run(ServerImpl.java:199)
       at java.lang.Thread.run(Thread.java:536)
INFO [main] (DirectSchedulerFactory.java:295) - Quartz scheduler 'Cocoon
INFO [main] (DirectSchedulerFactory.java:298) - Quartz scheduler version: 1.2.3
INFO [main] (QuartzScheduler.java:327) - Scheduler 
Cocoon_$_Fri_May_07_14:48:09_EDT_2004 started.
14:48:10.138 WARN!! Failed to start: [EMAIL PROTECTED]:8888
14:48:10.142 WARN!!
org.mortbay.util.MultiException[java.net.BindException: Address already in use]
       at org.mortbay.http.HttpServer.start(HttpServer.java:624)
       at org.mortbay.jetty.Server.main(Server.java:429)
       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:324)
       at Loader.invokeMain(Unknown Source)
       at Loader.run(Unknown Source)
       at Loader.main(Unknown Source)
[0]=java.net.BindException: Address already in use
       at java.net.PlainSocketImpl.socketBind(Native Method)
       at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:321)
       at java.net.ServerSocket.bind(ServerSocket.java:308)
       at java.net.ServerSocket.bind(ServerSocket.java:266)
       at java.net.ServerSocket.<init>(ServerSocket.java:182)
       at org.mortbay.util.ThreadedServer.newServerSocket(ThreadedServer.java:317)
       at org.mortbay.util.ThreadedServer.start(ThreadedServer.java:389)
       at org.mortbay.http.SocketListener.start(SocketListener.java:153)
       at org.mortbay.http.HttpServer.start(HttpServer.java:655)
       at org.mortbay.jetty.Server.main(Server.java:429)
       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:324)
       at Loader.invokeMain(Unknown Source)
       at Loader.run(Unknown Source)
       at Loader.main(Unknown Source)
===================================================================

Could anybody let me know what is the proper way of restarting cocoon in my case... I am trying this for the last 3days ...

Eagerly waiting for responses, all responses and suggestions accepted.

Thanks in advance.

Regards
Sam


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to