Improve OSGi Boot
authorMathieu Baudier <mbaudier@argeo.org>
Wed, 12 Oct 2011 21:36:23 +0000 (21:36 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Wed, 12 Oct 2011 21:36:23 +0000 (21:36 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@4815 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

osgi/dist/osgi-boot/src/main/rpm/usr/sbin/osgi-service
security/dep/org.argeo.security.dep.node/pom.xml
security/features/org.argeo.security.dep.node.rap/pom.xml
server/modules/org.argeo.jackrabbit.webapp/WEB-INF/applicationContext.xml
server/modules/org.argeo.jackrabbit.webapp/WEB-INF/web.xml
server/modules/org.argeo.jackrabbit.webapp/WEB-INF/xmlremoting-servlet.xml

index cbaecf5788cde451a084de527ded5b4bb4105da7..7d1ad6e5cd447df9d9579446da11e9d8c551b1e2 100644 (file)
@@ -30,14 +30,17 @@ RETVAL=0
 start() {
        cp $CONF_DIR/config.ini $CONF_RW/config.ini
        touch $SHUTDOWN_FILE
-       cd $EXEC_DIR && $JVM \
+       cd $EXEC_DIR
+       $JVM \
                -Dosgi.bundles="org.argeo.osgi.boot.jar@start" \
                -Dargeo.osgi.bundles="$CONF_DIR/modules;in=*,$LIB_DIR;in=*" \
+               -Dargeo.osgi.shutdownFile="$SHUTDOWN_FILE" \
                -Dlog4j.configuration="file:$CONF_DIR/log4j.properties" \
                $JAVA_OPTS -jar $OSGI_FRAMEWORK \
+               -clean \
                -configuration "$CONF_RW" \
                -data "$DATA_DIR" \
-               &> $LOG_FILE &
+               &>> $LOG_FILE &
        PID=$!
        echo $PID > $PID_FILE
        echo Started $APP with pid $PID
@@ -45,9 +48,20 @@ start() {
 }
 
 stop() {
-       PID=`cat $PID_FILE`
+       if [ -f $PID_FILE ];then
+               PID=`cat $PID_FILE`
+       else
+               return $RETVAL
+       fi
        rm -f $SHUTDOWN_FILE
-       # TODO wait for process to finish until timeout, then kill
+       timeout 5m sh << EOF
+while kill -0 $PID &> /dev/null; do sleep 1; done
+EOF
+       TIMEOUT_EXIT=$?
+       if [ $TIMEOUT_EXIT -eq 124 ];then
+               kill -9 $PID
+       fi
+       rm -f $PID_FILE
        echo Stopped $APP with pid $PID
        return $RETVAL
 }
@@ -60,21 +74,20 @@ case "$2" in
   stop)
         stop
         ;;
-  restart|reload)
+  restart)
         stop
-        sleep 10
         start
         RETVAL=$?
         ;;
-  condrestart)
-               echo Not implemented
-               exit 1
-        ;;
   status)
-               echo Not implemented
-               exit 1
+       if [ -f $PID_FILE ];then
+               PID=`cat $PID_FILE`
+               echo $APP is running with pid $PID ...
+       else
+               echo $APP is not running
+       fi
         ;;
   *)
-        echo $"Usage: $0 {start|stop|restart}"
+        echo $"Usage: $0 {start|stop|restart|status}"
         exit 1
-esac
+esac
\ No newline at end of file
index a62f23ecb1db323838bd00479ffda92229caadb8..c73ccc4531b3738ae2c2c3c80b43b7159747d583 100644 (file)
                        <version>${version.argeo-commons}</version>
                </dependency>
 
+               <!-- Javax -->
+               <dependency>
+                       <groupId>javax.annotation</groupId>
+                       <artifactId>com.springsource.javax.annotation</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.xml.ws</groupId>
+                       <artifactId>com.springsource.javax.xml.ws</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.xml.bind</groupId>
+                       <artifactId>com.springsource.javax.xml.bind</artifactId>
+               </dependency>
+
+               <!-- Security -->
+               <dependency>
+                       <groupId>org.argeo.commons.security</groupId>
+                       <artifactId>org.argeo.security.dao.ldap</artifactId>
+                       <version>${version.argeo-commons}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.commons.security</groupId>
+                       <artifactId>org.argeo.security.ldap</artifactId>
+                       <version>0.3.4-SNAPSHOT</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.commons.security</groupId>
+                       <artifactId>org.argeo.security.services</artifactId>
+                       <version>${version.argeo-commons}</version>
+               </dependency>
+
+               <!-- Web -->
+               <dependency>
+                       <groupId>org.springframework.osgi</groupId>
+                       <artifactId>org.springframework.osgi.web.extender</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.springframework.osgi</groupId>
+                       <artifactId>org.springframework.osgi.web</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.commons.server</groupId>
+                       <artifactId>org.argeo.server.dep.tomcat</artifactId>
+                       <version>0.3.4-SNAPSHOT</version>
+                       <type>pom</type>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.commons.server</groupId>
+                       <artifactId>org.argeo.server.webextender</artifactId>
+                       <version>0.3.4-SNAPSHOT</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.commons.server</groupId>
+                       <artifactId>org.argeo.server.jcr.mvc</artifactId>
+                       <version>0.3.4-SNAPSHOT</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.commons.server</groupId>
+                       <artifactId>org.argeo.jackrabbit.webapp</artifactId>
+                       <version>${version.argeo-commons}</version>
+               </dependency>
+
                <!-- Hibernate -->
                <dependency>
                        <groupId>org.argeo.commons.server</groupId>
index af69f1b393ebea091bc87ba0e54fc6ba05e0bd1e..c51c4894cce02d4a3de60c8f8f9c417b0c14f269 100644 (file)
                        <version>0.3.4-SNAPSHOT</version>
                </dependency>
 
-               <!-- Javax -->
-               <dependency>
-                       <groupId>javax.annotation</groupId>
-                       <artifactId>com.springsource.javax.annotation</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>javax.xml.ws</groupId>
-                       <artifactId>com.springsource.javax.xml.ws</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>javax.xml.bind</groupId>
-                       <artifactId>com.springsource.javax.xml.bind</artifactId>
-               </dependency>
-
-               <!-- Security -->
-               <dependency>
-                       <groupId>org.argeo.commons.security</groupId>
-                       <artifactId>org.argeo.security.dao.ldap</artifactId>
-                       <version>${version.argeo-commons}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.argeo.commons.security</groupId>
-                       <artifactId>org.argeo.security.ldap</artifactId>
-                       <version>0.3.4-SNAPSHOT</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.argeo.commons.security</groupId>
-                       <artifactId>org.argeo.security.services</artifactId>
-                       <version>${version.argeo-commons}</version>
-               </dependency>
-
-               <!-- Web -->
-               <dependency>
-                       <groupId>org.springframework.osgi</groupId>
-                       <artifactId>org.springframework.osgi.web.extender</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.springframework.osgi</groupId>
-                       <artifactId>org.springframework.osgi.web</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.argeo.commons.server</groupId>
-                       <artifactId>org.argeo.server.dep.tomcat</artifactId>
-                       <version>0.3.4-SNAPSHOT</version>
-                       <type>pom</type>
-               </dependency>
-               <dependency>
-                       <groupId>org.argeo.commons.server</groupId>
-                       <artifactId>org.argeo.server.webextender</artifactId>
-                       <version>0.3.4-SNAPSHOT</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.argeo.commons.server</groupId>
-                       <artifactId>org.argeo.server.jcr.mvc</artifactId>
-                       <version>0.3.4-SNAPSHOT</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.argeo.commons.server</groupId>
-                       <artifactId>org.argeo.jackrabbit.webapp</artifactId>
-                       <version>${version.argeo-commons}</version>
-               </dependency>
-
                <!-- For Tomcat deployment -->
                <dependency>
                        <groupId>org.argeo.commons.server</groupId>
index 5e941f99e688435db33d0ec9095fafc5b054a2d4..6b6a54077bbcb80c09570a668bf2e4353a081fa4 100644 (file)
        <bean id="sessionProvider" scope="session" init-method="init"
                destroy-method="dispose" class="org.argeo.jackrabbit.remote.SimpleSessionProvider">
                <aop:scoped-proxy proxy-target-class="false" />
-               <!-- <property name="credentials"> -->
-               <!-- <bean class="javax.jcr.SimpleCredentials"> -->
-               <!-- <constructor-arg value="root" /> -->
-               <!-- <constructor-arg value="demo" /> -->
-               <!-- </bean> -->
-               <!-- </property> -->
        </bean>
 
-       <bean id="osivInterceptor" class="org.argeo.jcr.mvc.OpenSessionInViewJcrInterceptor">
-               <!-- <property name="session" ref="jcrSession" /> -->
-       </bean>
+<!--   <bean id="osivInterceptor" class="org.argeo.jcr.mvc.OpenSessionInViewJcrInterceptor"> -->
+<!--           <property name="session" ref="jcrSession" /> -->
+<!--   </bean> -->
 
 </beans>
\ No newline at end of file
index 2371e291782ff5f7bc03342d8cd81ac7d0964e81..e24236b4125a15d351c0c46b0c3043a179867030 100644 (file)
@@ -40,7 +40,7 @@
                <url-pattern>/remoting/*</url-pattern>
        </servlet-mapping>
 
-       <!-- XML remoting -->
+       <!-- XML remoting
        <servlet>
                <servlet-name>xmlremoting</servlet-name>
                <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
@@ -54,7 +54,8 @@
                <servlet-name>xmlremoting</servlet-name>
                <url-pattern>*.jcr</url-pattern>
        </servlet-mapping>
-
+ -->
        <!-- WEBDAV servlet -->
        <servlet>
                <servlet-name>webdav</servlet-name>
@@ -80,7 +81,7 @@
                <url-pattern>/public/webdav/*</url-pattern>
        </servlet-mapping>
 
-       <!-- JCR-MANAGER servlet -->
+       <!-- JCR-MANAGER servlet
        <servlet>
                <servlet-name>jcr-manager</servlet-name>
                <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
@@ -95,7 +96,7 @@
                <servlet-name>jcr-manager</servlet-name>
                <url-pattern>/jcr-manager/*</url-pattern>
        </servlet-mapping>
-
+ -->
 
        <!--  Security -->
        <filter>
index 61c886765e1dc6b7543c00fb78df59b59d6b121e..b6e2ade8211548c44baa4d3a5306ed06d0ac33d0 100644 (file)
@@ -7,45 +7,45 @@
                http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
                http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
 
-       <context:component-scan base-package="org.argeo.jcr.mvc" />
-
-       <bean name="/*.jcr" class="org.argeo.jcr.mvc.JcrBrowserController" />
-
-       <!-- Views -->
-       <bean name="getJcrItem" class="org.argeo.server.mvc.SerializingView">
-               <property name="serializer">
-                       <bean class="org.argeo.jcr.mvc.JcrXmlServerSerializer" />
-               </property>
-       </bean>
-
-       <bean name="queryJcrNodes" class="org.argeo.server.mvc.SerializingView">
-               <property name="serializer" ref="jsonSerializer" />
-       </bean>
-
-       <bean name="queryJcrTable" class="org.argeo.server.mvc.SerializingView">
-               <property name="serializer" ref="jsonSerializer" />
-       </bean>
-
-       <bean name="500" class="org.argeo.server.mvc.SerializingView">
-               <property name="serializer" ref="jsonSerializer" />
-       </bean>
-
-       <!-- Serializers -->
-       <bean id="jsonSerializer" class="org.argeo.server.json.JsonServerSerializer" />
-
-       <!-- MVC -->
-       <bean id="handlerMapping"
-               class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
-               <property name="interceptors">
-                       <list>
-                               <ref bean="osivInterceptor" />
-                       </list>
-               </property>
-       </bean>
-
-       <bean id="viewResolver"
-               class="org.springframework.web.servlet.view.BeanNameViewResolver" />
-
-       <bean class="org.argeo.server.mvc.DefaultHandlerExceptionResolver" />
+<!--   <context:component-scan base-package="org.argeo.jcr.mvc" /> -->
+
+<!--   <bean name="/*.jcr" class="org.argeo.jcr.mvc.JcrBrowserController" /> -->
+
+<!--   Views -->
+<!--   <bean name="getJcrItem" class="org.argeo.server.mvc.SerializingView"> -->
+<!--           <property name="serializer"> -->
+<!--                   <bean class="org.argeo.jcr.mvc.JcrXmlServerSerializer" /> -->
+<!--           </property> -->
+<!--   </bean> -->
+
+<!--   <bean name="queryJcrNodes" class="org.argeo.server.mvc.SerializingView"> -->
+<!--           <property name="serializer" ref="jsonSerializer" /> -->
+<!--   </bean> -->
+
+<!--   <bean name="queryJcrTable" class="org.argeo.server.mvc.SerializingView"> -->
+<!--           <property name="serializer" ref="jsonSerializer" /> -->
+<!--   </bean> -->
+
+<!--   <bean name="500" class="org.argeo.server.mvc.SerializingView"> -->
+<!--           <property name="serializer" ref="jsonSerializer" /> -->
+<!--   </bean> -->
+
+<!--   Serializers -->
+<!--   <bean id="jsonSerializer" class="org.argeo.server.json.JsonServerSerializer" /> -->
+
+<!--   MVC -->
+<!--   <bean id="handlerMapping" -->
+<!--           class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"> -->
+<!--           <property name="interceptors"> -->
+<!--                   <list> -->
+<!--                           <ref bean="osivInterceptor" /> -->
+<!--                   </list> -->
+<!--           </property> -->
+<!--   </bean> -->
+
+<!--   <bean id="viewResolver" -->
+<!--           class="org.springframework.web.servlet.view.BeanNameViewResolver" /> -->
+
+<!--   <bean class="org.argeo.server.mvc.DefaultHandlerExceptionResolver" /> -->
 
 </beans>
\ No newline at end of file