geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ga...@apache.org
Subject svn commit: r883248 - in /geronimo/server/trunk/framework: configs/karaf-framework/src/main/distribution/unix-shell/bin/ configs/karaf-framework/src/main/distribution/windows-text/bin/ configs/karaf-framework/src/main/filtered-resources/etc/ configs/on...
Date Mon, 23 Nov 2009 05:20:33 GMT
Author: gawor
Date: Mon Nov 23 05:20:32 2009
New Revision: 883248

URL: http://svn.apache.org/viewvc?rev=883248&view=rev
Log:
get basic deploy command line tool working. some operations like list-modules or list-targets
seem to work

Added:
    geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/unix-shell/bin/deploy
  (with props)
    geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/windows-text/bin/deploy.bat
  (with props)
    geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/main/MainBridge.java
  (with props)
Modified:
    geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/unix-shell/bin/client
    geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/windows-text/bin/client.bat
    geronimo/server/trunk/framework/configs/karaf-framework/src/main/filtered-resources/etc/config.properties
    geronimo/server/trunk/framework/configs/online-deployer/pom.xml
    geronimo/server/trunk/framework/configs/online-deployer/src/main/plan/plan.xml
    geronimo/server/trunk/framework/modules/geronimo-cli/src/main/java/org/apache/geronimo/cli/deployer/DeployerCLI.java
    geronimo/server/trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Bootstrapper.java
    geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/RepositoryConfigurationStore.java
    geronimo/server/trunk/framework/plugingroups/framework/pom.xml
    geronimo/server/trunk/framework/plugingroups/framework/src/main/history/dependencies.xml

Modified: geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/unix-shell/bin/client
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/unix-shell/bin/client?rev=883248&r1=883247&r2=883248&view=diff
==============================================================================
--- geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/unix-shell/bin/client
(original)
+++ geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/unix-shell/bin/client
Mon Nov 23 05:20:32 2009
@@ -265,7 +265,7 @@
 }
 
 run() {
-    OPTS="-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=true"
+    OPTS="-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true"
     case "$1" in
         'console')
             shift

Added: geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/unix-shell/bin/deploy
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/unix-shell/bin/deploy?rev=883248&view=auto
==============================================================================
--- geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/unix-shell/bin/deploy
(added)
+++ geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/unix-shell/bin/deploy
Mon Nov 23 05:20:32 2009
@@ -0,0 +1,296 @@
+#!/bin/sh
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+# $Id: karaf 979 2005-11-30 22:50:55Z bsnyder $
+#
+
+DIRNAME=`dirname $0`
+PROGNAME=`basename $0`
+
+#
+# Check/Set up some easily accessible MIN/MAX params for JVM mem usage
+#
+
+if [ "x$JAVA_MIN_MEM" = "x" ]; then
+    JAVA_MIN_MEM=128M
+    export JAVA_MIN_MEM
+fi
+
+if [ "x$JAVA_MAX_MEM" = "x" ]; then
+    JAVA_MAX_MEM=512M
+    export JAVA_MAX_MEM
+fi
+
+warn() {
+    echo "${PROGNAME}: $*"
+}
+
+die() {
+    warn "$*"
+    exit 1
+}
+
+maybeSource() {
+    file="$1"
+    if [ -f "$file" ] ; then
+        . $file
+    fi
+}
+
+detectOS() {
+    # OS specific support (must be 'true' or 'false').
+    cygwin=false;
+    darwin=false;
+    aix=false;
+    os400=false;
+    case "`uname`" in
+        CYGWIN*)
+            cygwin=true
+            ;;
+        Darwin*)
+            darwin=true
+            ;;
+        AIX*)
+            aix=true
+            ;;
+        OS400*)
+            os400=true
+            ;;
+    esac
+    # For AIX, set an environment variable
+    if $aix; then
+         export LDR_CNTRL=MAXDATA=0xB0000000@DSA
+         export IBM_JAVA_HEAPDUMP_TEXT=true
+         echo $LDR_CNTRL
+    fi
+}
+
+unlimitFD() {
+    # Use the maximum available, or set MAX_FD != -1 to use that
+    if [ "x$MAX_FD" = "x" ]; then
+        MAX_FD="maximum"
+    fi
+
+    # Increase the maximum file descriptors if we can
+    if [ "$os400" = "false" ] && [ "$cygwin" = "false" ]; then
+        MAX_FD_LIMIT=`ulimit -H -n`
+        if [ "$MAX_FD_LIMIT" != 'unlimited' ]; then 
+            if [ $? -eq 0 ]; then
+                if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ]; then
+                    # use the system max
+                    MAX_FD="$MAX_FD_LIMIT"
+                fi
+
+                ulimit -n $MAX_FD > /dev/null
+                # echo "ulimit -n" `ulimit -n`
+                if [ $? -ne 0 ]; then
+                    warn "Could not set maximum file descriptor limit: $MAX_FD"
+                fi
+            else
+                warn "Could not query system maximum file descriptor limit: $MAX_FD_LIMIT"
+            fi
+        fi
+    fi
+}
+
+locateHome() {
+    if [ "x$KARAF_HOME" != "x" ]; then
+        warn "Ignoring predefined value for KARAF_HOME"
+    fi
+    
+    # In POSIX shells, CDPATH may cause cd to write to stdout
+    (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+    KARAF_HOME=`cd $DIRNAME/..; pwd`
+    if [ ! -d "$KARAF_HOME" ]; then
+        die "KARAF_HOME is not valid: $KARAF_HOME"
+    fi
+}
+
+locateBase() {
+    if [ "x$KARAF_BASE" != "x" ]; then
+        if [ ! -d "$KARAF_BASE" ]; then
+            die "KARAF_BASE is not valid: $KARAF_BASE"
+        fi
+    else
+        KARAF_BASE=$KARAF_HOME
+    fi
+}
+
+setupNativePath() {
+    # Support for loading native libraries
+    LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:$KARAF_BASE/lib:$KARAF_HOME/lib"
+
+    # For Cygwin, set PATH from LD_LIBRARY_PATH
+    if $cygwin; then
+        LD_LIBRARY_PATH=`cygpath --path --windows "$LD_LIBRARY_PATH"`
+        PATH="$PATH;$LD_LIBRARY_PATH"
+        export PATH
+    fi
+    export LD_LIBRARY_PATH
+}
+
+locateJava() {
+    # Setup the Java Virtual Machine
+    if $cygwin ; then
+        [ -n "$JAVA" ] && JAVA=`cygpath --unix "$JAVA"`
+        [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+    fi
+
+    if [ "x$JAVA" = "x" ]; then
+        if [ "x$JAVA_HOME" = "x" ] && [ "$darwin" = "true" ]; then
+            JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
+        fi
+        if [ "x$JAVA_HOME" != "x" ]; then
+            if [ ! -d "$JAVA_HOME" ]; then
+                die "JAVA_HOME is not valid: $JAVA_HOME"
+            fi
+            JAVA="$JAVA_HOME/bin/java"
+        else
+            warn "JAVA_HOME not set; results may vary"
+            JAVA="java"
+        fi
+    fi
+}
+
+detectJVM() {
+   #echo "`$JAVA -version`"
+   # This service should call `java -version`,
+   # read stdout, and look for hints
+   if $JAVA -version 2>&1 | grep "^IBM" ; then
+       JVM_VENDOR="IBM"
+   # on OS/400, java -version does not contain IBM explicitly
+   elif $os400; then
+       JVM_VENDOR="IBM"
+   else
+       JVM_VENDOR="SUN"
+   fi
+   # echo "JVM vendor is $JVM_VENDOR"
+}
+
+setupDebugOptions() {
+    if [ "x$JAVA_OPTS" = "x" ]; then
+        JAVA_OPTS="$DEFAULT_JAVA_OPTS"
+    fi
+    export JAVA_OPTS
+
+    # Set Debug options if enabled
+    if [ "x$KARAF_DEBUG" != "x" ]; then
+        # Use the defaults if JAVA_DEBUG_OPTS was not set
+        if [ "x$JAVA_DEBUG_OPTS" = "x" ]; then
+            JAVA_DEBUG_OPTS="$DEFAULT_JAVA_DEBUG_OPTS"
+        fi
+
+        JAVA_OPTS="$JAVA_DEBUG_OPTS $JAVA_OPTS"
+        warn "Enabling Java debug options: $JAVA_DEBUG_OPTS"
+    fi
+}
+
+setupDefaults() {
+    DEFAULT_JAVA_OPTS="-Xms$JAVA_MIN_MEM -Xmx$JAVA_MAX_MEM "
+
+    #Set the JVM_VENDOR specific JVM flags
+    if [ "$JVM_VENDOR" = "SUN" ]; then
+        DEFAULT_JAVA_OPTS="-server $DEFAULT_JAVA_OPTS -Dcom.sun.management.jmxremote"
+    elif [ "$JVM_VENDOR" = "IBM" ]; then
+        if $os400; then
+            DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS"
+        elif $aix; then
+            DEFAULT_JAVA_OPTS="-Xverify:none -Xlp $DEFAULT_JAVA_OPTS"
+        else
+            DEFAULT_JAVA_OPTS="-Xverify:none $DEFAULT_JAVA_OPTS"
+        fi
+    fi
+
+    # Add the jars in the lib dir
+    for file in $KARAF_HOME/lib/*.jar
+    do
+        if [ -z "$CLASSPATH" ]; then
+            CLASSPATH="$file"
+        else
+            CLASSPATH="$CLASSPATH:$file"
+        fi
+    done
+    DEFAULT_JAVA_DEBUG_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
+
+    ##
+    ## TODO: Move to conf/profiler/yourkit.{sh|cmd}
+    ##
+    # Uncomment to enable YourKit profiling
+    #DEFAULT_JAVA_DEBUG_OPTS="-Xrunyjpagent"
+}
+
+init() {
+    # Determine if there is special OS handling we must perform
+    detectOS
+
+    # Unlimit the number of file descriptors if possible
+    unlimitFD
+
+    # Locate the Karaf home directory
+    locateHome
+
+    # Locate the Karaf base directory
+    locateBase
+
+    # Setup the native library path
+    setupNativePath
+
+    # Locate the Java VM to execute
+    locateJava
+
+    # Determine the JVM vendor
+    detectJVM
+
+    # Setup default options
+    setupDefaults
+
+    # Install debug options
+    setupDebugOptions
+
+}
+
+run() {
+    OPTS="-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true"
+    case "$1" in
+        'console')
+            shift
+            ;;
+        'server')
+            OPTS="-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true"
+            shift
+            ;;
+        'client')
+            OPTS="-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false"
+            shift
+            ;;
+    esac
+
+    if $cygwin; then
+        KARAF_HOME=`cygpath --path --windows "$KARAF_HOME"`
+        KARAF_BASE=`cygpath --path --windows "$KARAF_BASE"`
+        CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+    fi
+    exec $JAVA $JAVA_OPTS -Dorg.apache.geronimo.home.dir="$KARAF_HOME" -Dkaraf.home="$KARAF_HOME"
-Dkaraf.base="$KARAF_BASE" -Djava.util.logging.config.file=$KARAF_BASE/etc/java.util.logging.properties
$OPTS -classpath "$CLASSPATH" org.apache.geronimo.cli.deployer.DeployerCLI "$@"
+}
+
+main() {
+    init
+    run "$@"
+}
+
+main "$@"

Propchange: geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/unix-shell/bin/deploy
------------------------------------------------------------------------------
    svn:executable = *

Modified: geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/windows-text/bin/client.bat
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/windows-text/bin/client.bat?rev=883248&r1=883247&r2=883248&view=diff
==============================================================================
--- geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/windows-text/bin/client.bat
(original)
+++ geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/windows-text/bin/client.bat
Mon Nov 23 05:20:32 2009
@@ -127,7 +127,7 @@
     call %KARAF_PROFILER_SCRIPT%
 
 :RUN
-    SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=true
+    SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true
     SET SHIFT=false
     if "%1" == "console" goto :EXECUTE_CONSOLE
     if "%1" == "server" goto :EXECUTE_SERVER

Added: geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/windows-text/bin/deploy.bat
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/windows-text/bin/deploy.bat?rev=883248&view=auto
==============================================================================
--- geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/windows-text/bin/deploy.bat
(added)
+++ geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/windows-text/bin/deploy.bat
Mon Nov 23 05:20:32 2009
@@ -0,0 +1,166 @@
+@echo off
+rem
+rem
+rem    Licensed to the Apache Software Foundation (ASF) under one or more
+rem    contributor license agreements.  See the NOTICE file distributed with
+rem    this work for additional information regarding copyright ownership.
+rem    The ASF licenses this file to You under the Apache License, Version 2.0
+rem    (the "License"); you may not use this file except in compliance with
+rem    the License.  You may obtain a copy of the License at
+rem
+rem       http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem    Unless required by applicable law or agreed to in writing, software
+rem    distributed under the License is distributed on an "AS IS" BASIS,
+rem    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem    See the License for the specific language governing permissions and
+rem    limitations under the License.
+rem
+rem 
+rem $Id: karaf.bat 979 2005-11-30 22:50:55Z bsnyder $
+rem 
+
+if not "%ECHO%" == "" echo %ECHO%
+
+setlocal
+set DIRNAME=%~dp0%
+set PROGNAME=%~nx0%
+set ARGS=%*
+
+title Karaf
+
+goto BEGIN
+
+:warn
+    echo %PROGNAME%: %*
+goto :EOF
+
+:BEGIN
+
+rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+if not "%KARAF_HOME%" == "" (
+    call :warn Ignoring predefined value for KARAF_HOME
+)
+set KARAF_HOME=%DIRNAME%..
+if not exist "%KARAF_HOME%" (
+    call :warn KARAF_HOME is not valid: %KARAF_HOME%
+    goto END
+)
+
+if not "%KARAF_BASE%" == "" (
+    if not exist "%KARAF_BASE%" (
+       call :warn KARAF_BASE is not valid: %KARAF_BASE%
+       goto END
+    )
+)
+if "%KARAF_BASE%" == "" (
+  set KARAF_BASE=%KARAF_HOME%
+)
+
+set LOCAL_CLASSPATH=%CLASSPATH%
+set DEFAULT_JAVA_OPTS=-server -Xmx512M -Dderby.system.home="%KARAF_BASE%\data\derby" -Dderby.storage.fileSyncTransactionLog=true
-Dcom.sun.management.jmxremote
+set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf
+set DEFAULT_JAVA_DEBUG_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
+
+if "%LOCAL_CLASSPATH%" == "" goto :KARAF_CLASSPATH_EMPTY
+    set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf
+    goto :KARAF_CLASSPATH_END
+:KARAF_CLASSPATH_EMPTY
+    set CLASSPATH=%KARAF_BASE%\conf
+:KARAF_CLASSPATH_END
+
+rem Setup Karaf Home
+if exist "%KARAF_HOME%\conf\karaf-rc.cmd" call %KARAF_HOME%\conf\karaf-rc.cmd
+if exist "%HOME%\karaf-rc.cmd" call %HOME%\karaf-rc.cmd
+
+rem Support for loading native libraries
+set PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib
+
+rem Setup the Java Virtual Machine
+if not "%JAVA%" == "" goto :Check_JAVA_END
+    set JAVA=java
+    if "%JAVA_HOME%" == "" call :warn JAVA_HOME not set; results may vary
+    if not "%JAVA_HOME%" == "" set JAVA=%JAVA_HOME%\bin\java
+    if not exist "%JAVA_HOME%" (
+        call :warn JAVA_HOME is not valid: "%JAVA_HOME%"
+        goto END
+    )
+:Check_JAVA_END
+
+if "%JAVA_OPTS%" == "" set JAVA_OPTS=%DEFAULT_JAVA_OPTS%
+
+if "%KARAF_DEBUG%" == "" goto :KARAF_DEBUG_END
+    rem Use the defaults if JAVA_DEBUG_OPTS was not set
+    if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%
+    
+    set "JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS%"
+    call :warn Enabling Java debug options: %JAVA_DEBUG_OPTS%
+:KARAF_DEBUG_END
+
+if "%KARAF_PROFILER%" == "" goto :KARAF_PROFILER_END
+    set KARAF_PROFILER_SCRIPT=%KARAF_HOME%\conf\profiler\%KARAF_PROFILER%.cmd
+    
+    if exist "%KARAF_PROFILER_SCRIPT%" goto :KARAF_PROFILER_END
+    call :warn Missing configuration for profiler '%KARAF_PROFILER%': %KARAF_PROFILER_SCRIPT%
+    goto END
+:KARAF_PROFILER_END
+
+rem Setup the classpath
+pushd "%KARAF_HOME%\lib"
+for %%G in (*.*) do call:APPEND_TO_CLASSPATH %%G
+popd
+goto CLASSPATH_END
+
+: APPEND_TO_CLASSPATH
+set filename=%~1
+set suffix=%filename:~-4%
+if %suffix% equ .jar set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\lib\%filename%
+goto :EOF
+
+:CLASSPATH_END
+
+rem Execute the JVM or the load the profiler
+if "%KARAF_PROFILER%" == "" goto :RUN
+    rem Execute the profiler if it has been configured
+    call :warn Loading profiler script: %KARAF_PROFILER_SCRIPT%
+    call %KARAF_PROFILER_SCRIPT%
+
+:RUN
+    SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true
+    SET SHIFT=false
+    if "%1" == "console" goto :EXECUTE_CONSOLE
+    if "%1" == "server" goto :EXECUTE_SERVER
+    if "%1" == "client" goto :EXECUTE_CLIENT
+    goto :EXECUTE
+
+:EXECUTE_CONSOLE
+    SET SHIFT=true
+    goto :EXECUTE    
+
+:EXECUTE_SERVER
+    SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true
+    SET SHIFT=true
+    goto :EXECUTE
+
+:EXECUTE_CLIENT
+    SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false
+    SET SHIFT=true
+    goto :EXECUTE
+
+:EXECUTE
+    if "%SHIFT%" == "true" SET ARGS=%2 %3 %4 %5 %6 %7 %8
+    if not "%SHIFT%" == "true" SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8    
+    rem Execute the Java Virtual Machine
+    "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" -Dorg.apache.geronimo.home.dir="%KARAF_HOME%"
-Dkaraf.home="%KARAF_HOME%" -Dkaraf.base="%KARAF_BASE%" -Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties"
org.apache.geronimo.cli.deployer.DeployerCLI %ARGS%
+
+rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+:END
+
+endlocal
+
+if not "%PAUSE%" == "" pause
+
+:END_NO_PAUSE
+

Propchange: geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/windows-text/bin/deploy.bat
------------------------------------------------------------------------------
    svn:eol-style = CRLF

Propchange: geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/windows-text/bin/deploy.bat
------------------------------------------------------------------------------
    svn:executable = *

Propchange: geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/windows-text/bin/deploy.bat
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: geronimo/server/trunk/framework/configs/karaf-framework/src/main/filtered-resources/etc/config.properties
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/configs/karaf-framework/src/main/filtered-resources/etc/config.properties?rev=883248&r1=883247&r2=883248&view=diff
==============================================================================
--- geronimo/server/trunk/framework/configs/karaf-framework/src/main/filtered-resources/etc/config.properties
(original)
+++ geronimo/server/trunk/framework/configs/karaf-framework/src/main/filtered-resources/etc/config.properties
Mon Nov 23 05:20:32 2009
@@ -43,7 +43,8 @@
  org.apache.felix.karaf.version; version=${karaf.osgi.version}, \
  org.apache.geronimo.main; version=${karaf.osgi.version}, \
  org.apache.geronimo.cli.daemon; version=${karaf.osgi.version}, \
- org.apache.geronimo.cli.client; version=${karaf.osgi.version}
+ org.apache.geronimo.cli.client; version=${karaf.osgi.version}, \
+ org.apache.geronimo.cli.deployer; version=${karaf.osgi.version}
 
 # javax.transaction is needed to avoid class loader constraint violation when using javax.sql
 org.osgi.framework.bootdelegation=sun.*,com.sun.*,javax.transaction,javax.transaction.*

Modified: geronimo/server/trunk/framework/configs/online-deployer/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/configs/online-deployer/pom.xml?rev=883248&r1=883247&r2=883248&view=diff
==============================================================================
--- geronimo/server/trunk/framework/configs/online-deployer/pom.xml (original)
+++ geronimo/server/trunk/framework/configs/online-deployer/pom.xml Mon Nov 23 05:20:32 2009
@@ -119,6 +119,7 @@
                 <groupId>org.apache.geronimo.buildsupport</groupId>
                 <artifactId>car-maven-plugin</artifactId>
                 <configuration>
+                    <boot>true</boot>
                     <archive>
                         <manifestEntries>
                             <Endorsed-Dirs>lib/endorsed</Endorsed-Dirs>

Modified: geronimo/server/trunk/framework/configs/online-deployer/src/main/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/configs/online-deployer/src/main/plan/plan.xml?rev=883248&r1=883247&r2=883248&view=diff
==============================================================================
--- geronimo/server/trunk/framework/configs/online-deployer/src/main/plan/plan.xml (original)
+++ geronimo/server/trunk/framework/configs/online-deployer/src/main/plan/plan.xml Mon Nov
23 05:20:32 2009
@@ -103,6 +103,10 @@
         </attribute>
     </gbean>
 
+    <gbean name="DependencyManager" class="org.apache.geronimo.system.configuration.DependencyManager">
+        <reference name="Repositories"></reference>
+    </gbean>
+
     <!-- Logging service -->
     <!--
     <gbean name="Logger" class="org.apache.geronimo.system.logging.log4j.Log4jService">
@@ -114,4 +118,6 @@
     </gbean>
     -->
 
+    <gbean name="DeployerBridge" class="org.apache.geronimo.system.main.MainBridge"/>
+
 </module>

Modified: geronimo/server/trunk/framework/modules/geronimo-cli/src/main/java/org/apache/geronimo/cli/deployer/DeployerCLI.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-cli/src/main/java/org/apache/geronimo/cli/deployer/DeployerCLI.java?rev=883248&r1=883247&r2=883248&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-cli/src/main/java/org/apache/geronimo/cli/deployer/DeployerCLI.java
(original)
+++ geronimo/server/trunk/framework/modules/geronimo-cli/src/main/java/org/apache/geronimo/cli/deployer/DeployerCLI.java
Mon Nov 23 05:20:32 2009
@@ -16,8 +16,11 @@
  */
 package org.apache.geronimo.cli.deployer;
 
+import java.util.Arrays;
+
 import org.apache.geronimo.cli.AbstractCLI;
 import org.apache.geronimo.cli.CLParser;
+import org.apache.geronimo.main.Bootstrapper;
 
 /**
  * @version $Rev: 476049 $ $Date: 2006-11-17 15:35:17 +1100 (Fri, 17 Nov 2006) $
@@ -48,5 +51,15 @@
     protected CLParser getCLParser() {
         return new DeployerCLParser(System.out);
     }
+    
+    @Override
+    protected Bootstrapper createBootstrapper() {
+        Bootstrapper boot = super.createBootstrapper();
+        boot.setWaitForStop(false);
+        boot.setUniqueStorage(true);
+        boot.setStartBundles(Arrays.asList("org.apache.geronimo.framework/online-deployer/3.0-SNAPSHOT/car"));
+        boot.setLog4jConfigFile("var/log/deployer-log4j.properties");
+        return boot;
+    }
 
 }

Modified: geronimo/server/trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Bootstrapper.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Bootstrapper.java?rev=883248&r1=883247&r2=883248&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Bootstrapper.java
(original)
+++ geronimo/server/trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Bootstrapper.java
Mon Nov 23 05:20:32 2009
@@ -31,7 +31,7 @@
  */
 public class Bootstrapper {
     
-    private org.apache.felix.karaf.main.Main karaf_main;
+    private org.apache.felix.karaf.main.Main karafMain;
     private boolean waitForStop = true;    
     private List<String> bundles;
     private int defaultStartLevel = 100;
@@ -40,7 +40,6 @@
     private String log4jFile;
 
     public Bootstrapper() {
-        karaf_main = new org.apache.felix.karaf.main.Main(null);
     }
     
     public void setWaitForStop(boolean waitForStop) {
@@ -67,7 +66,7 @@
             return exitCode;
         }
         
-        karaf_main.getFramework().getBundleContext().registerService(ServerInfo.class.getName(),
serverInfo, null);
+        karafMain.getFramework().getBundleContext().registerService(ServerInfo.class.getName(),
serverInfo, null);
         
         if (bundles != null) {
             StartLevelListener listener = new StartLevelListener(this);
@@ -98,17 +97,17 @@
     }
 
     public Main getMain() {
-        ServiceTracker tracker = new ServiceTracker(karaf_main.getFramework().getBundleContext(),
Main.class.getName(), null);
+        ServiceTracker tracker = new ServiceTracker(karafMain.getFramework().getBundleContext(),
Main.class.getName(), null);
         tracker.open();
         
-        Main geronimo_main = null;
+        Main geronimoMain = null;
         try {
-            geronimo_main = (Main) tracker.waitForService(1000 * 60);
+            geronimoMain = (Main) tracker.waitForService(1000 * 60);
             tracker.close();
         } catch (Exception e) {            
             e.printStackTrace();            
         }
-        return geronimo_main;
+        return geronimoMain;
     }
     
     public int launch() {      
@@ -138,25 +137,30 @@
                                getStorageDirectory());
             
             System.setProperty(Constants.FRAMEWORK_BEGINNING_STARTLEVEL, 
-                               String.valueOf(defaultStartLevel));            
+                               String.valueOf(defaultStartLevel));       
+                      
+            System.setProperty(org.apache.felix.karaf.main.Main.PROPERTY_USE_LOCK, 
+                               (uniqueStorage) ? "false" : "true");
             
         } catch (IOException e) {
             e.printStackTrace();
             return -1;
         }
         
+        karafMain = new org.apache.felix.karaf.main.Main(null);
+        
         try {           
-            karaf_main.launch();
+            karafMain.launch();
         } catch (Exception e) {
             e.printStackTrace();           
         }
         
-        return karaf_main.getExitCode();
+        return karafMain.getExitCode();
     }
     
     public void stop(boolean await) {
         try {
-            karaf_main.destroy(await);
+            karafMain.destroy(await);
         } catch (Exception e) {
             e.printStackTrace();           
         } finally {
@@ -166,9 +170,9 @@
             }
         }
     }
-            
+                
     protected BundleContext getBundleContext() {
-        return karaf_main.getFramework().getBundleContext();
+        return karafMain.getFramework().getBundleContext();
     }
             
     public void startLevelChanged(int startLevel) {
@@ -258,5 +262,5 @@
         
         return ok;
     }
-
+   
 }

Modified: geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/RepositoryConfigurationStore.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/RepositoryConfigurationStore.java?rev=883248&r1=883247&r2=883248&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/RepositoryConfigurationStore.java
(original)
+++ geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/RepositoryConfigurationStore.java
Mon Nov 23 05:20:32 2009
@@ -434,20 +434,11 @@
         List<ConfigurationInfo> configs= new ArrayList<ConfigurationInfo>();
         synchronized (this) {
             for (Artifact configId : artifacts) {
-                File dir = repository.getLocation(configId);
-                File meta = new File(dir, "META-INF");
-                if (!meta.isDirectory() || !meta.canRead()) {
-                    continue;
-                }
-                File ser = new File(meta, "config.ser");
-                if (!ser.isFile() || !ser.canRead() || ser.length() == 0) {
-                    continue;
-                }
                 try {
                     ConfigurationInfo configurationInfo = loadConfigurationInfo(configId);
                     configs.add(configurationInfo);
                 } catch (NoSuchConfigException e) {
-                    log.error("Unexpected error: found META-INF/config.ser for " + configId
+ " but couldn't load ConfigurationInfo", e);
+                    continue;
                 } catch (IOException e) {
                     log.error("Unable to load ConfigurationInfo for " + configId, e);
                 }
@@ -469,7 +460,9 @@
         if (location.isDirectory()) {
             File infoFile = new File(location, "META-INF");
             infoFile = new File(infoFile, "config.info");
-
+            if (!infoFile.exists() || !infoFile.canRead()) {
+                throw new NoSuchConfigException(configId);
+            }
             InputStream in = new FileInputStream(infoFile);
             try {
                 configurationInfo = ConfigurationUtil.readConfigurationInfo(in, getAbstractName(),
inPlaceLocation);
@@ -481,6 +474,9 @@
             InputStream in = null;
             try {
                 ZipEntry entry = jarFile.getEntry("META-INF/config.info");
+                if (entry == null) {
+                    throw new NoSuchConfigException(configId);
+                }
                 in = jarFile.getInputStream(entry);
                 configurationInfo = ConfigurationUtil.readConfigurationInfo(in, getAbstractName(),
inPlaceLocation);
             } finally {

Added: geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/main/MainBridge.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/main/MainBridge.java?rev=883248&view=auto
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/main/MainBridge.java
(added)
+++ geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/main/MainBridge.java
Mon Nov 23 05:20:32 2009
@@ -0,0 +1,131 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package org.apache.geronimo.system.main;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.geronimo.gbean.AbstractName;
+import org.apache.geronimo.gbean.AbstractNameQuery;
+import org.apache.geronimo.gbean.GBeanInfo;
+import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.gbean.GBeanLifecycle;
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.config.ConfigurationManager;
+import org.apache.geronimo.kernel.config.ConfigurationUtil;
+import org.apache.geronimo.kernel.config.PersistentConfigurationList;
+import org.apache.geronimo.kernel.repository.Artifact;
+import org.apache.geronimo.main.Main;
+import org.osgi.framework.Bundle;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @version $Rev:385659 $ $Date$
+ */
+public class MainBridge implements Main, GBeanLifecycle {
+    private static final Logger log = LoggerFactory.getLogger(MainBridge.class);
+
+    protected final Kernel kernel;
+    protected final Bundle bundle;
+
+    public MainBridge(Kernel kernel, Bundle bundle) {
+        this.kernel = kernel;
+        this.bundle = bundle;
+    }
+
+    public int execute(Object opaque) {
+        org.apache.geronimo.kernel.util.Main main;
+        try {
+            loadPersistentConfigurations();
+            main = getMain();
+        } catch (Exception e) {
+            e.printStackTrace();
+            shutdownKernel();
+            return 1;
+        }
+        return main.execute(opaque);
+    }
+
+    protected void loadPersistentConfigurations() throws Exception {
+        List<Artifact> configs = new ArrayList<Artifact>();
+
+        AbstractNameQuery query = new AbstractNameQuery(PersistentConfigurationList.class.getName());
+
+        if (configs.isEmpty()) {
+            Set<AbstractName> configLists = kernel.listGBeans(query);
+            for (AbstractName configListName : configLists) {
+                configs.addAll((List<Artifact>) kernel.invoke(configListName, "restore"));
+            }
+        }
+
+        ConfigurationManager configurationManager = ConfigurationUtil.getConfigurationManager(kernel);
+        try {
+            for (Artifact config : configs) {
+                configurationManager.loadConfiguration(config);
+                configurationManager.startConfiguration(config);
+            }
+        } finally {
+            ConfigurationUtil.releaseConfigurationManager(kernel, configurationManager);
+        }
+    }
+    
+    protected org.apache.geronimo.kernel.util.Main getMain() throws Exception {
+        return (org.apache.geronimo.kernel.util.Main) kernel.getGBean(org.apache.geronimo.kernel.util.Main.class);
+    }
+
+    protected void shutdownKernel() {
+        try {
+            kernel.shutdown();
+        } catch (Exception e1) {
+            System.err.println("Exception caught during kernel shutdown");
+            e1.printStackTrace();
+        }
+    }
+    
+    public static final GBeanInfo GBEAN_INFO;
+
+    static {
+        GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic(MainBridge.class, "MainBridge");
+        infoFactory.addAttribute("kernel", Kernel.class, false);
+        infoFactory.addAttribute("bundle", Bundle.class, false);
+        infoFactory.setConstructor(new String[]{"kernel", "bundle"});
+        GBEAN_INFO = infoFactory.getBeanInfo();
+    }
+
+    public static GBeanInfo getGBeanInfo() {
+        return GBEAN_INFO;
+    }
+
+    @Override
+    public void doFail() {
+    }
+
+    @Override
+    public void doStart() throws Exception {
+        bundle.getBundleContext().registerService(Main.class.getName(), this, new Hashtable());
+    }
+
+    @Override
+    public void doStop() throws Exception {
+
+    }
+
+}

Propchange: geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/main/MainBridge.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/main/MainBridge.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/main/MainBridge.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: geronimo/server/trunk/framework/plugingroups/framework/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/plugingroups/framework/pom.xml?rev=883248&r1=883247&r2=883248&view=diff
==============================================================================
--- geronimo/server/trunk/framework/plugingroups/framework/pom.xml (original)
+++ geronimo/server/trunk/framework/plugingroups/framework/pom.xml Mon Nov 23 05:20:32 2009
@@ -126,6 +126,13 @@
             <version>${version}</version>
             <type>car</type>
         </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.framework</groupId>
+            <artifactId>online-deployer</artifactId>
+            <version>${version}</version>
+            <type>car</type>
+        </dependency>
     </dependencies>
 
     <build>

Modified: geronimo/server/trunk/framework/plugingroups/framework/src/main/history/dependencies.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/plugingroups/framework/src/main/history/dependencies.xml?rev=883248&r1=883247&r2=883248&view=diff
==============================================================================
--- geronimo/server/trunk/framework/plugingroups/framework/src/main/history/dependencies.xml
(original)
+++ geronimo/server/trunk/framework/plugingroups/framework/src/main/history/dependencies.xml
Mon Nov 23 05:20:32 2009
@@ -33,6 +33,11 @@
     </dependency>
     <dependency>
         <groupId>org.apache.geronimo.framework</groupId>
+        <artifactId>online-deployer</artifactId>
+        <type>car</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.framework</groupId>
         <artifactId>plugin</artifactId>
         <type>car</type>
     </dependency>



Mime
View raw message