Caucho maker of Resin Server | Application Server (Java EE Certified) and Web Server


 

Resin Documentation

home company blog docs 
app server 
 Resin Server | Application Server (Java EE Certified) and Web Server
 

command line resin administration


Starting with version 4.0.17 Resin provides extended set of commands that allow administrators and programmers perform debugging and monitoring tasks on remote Resin server using command line.

All Resin users should familiarize themselves with the thread dump, profile, and heap capabilities.

enabling the commands

By default these commands are disabled. Enabling the command requires ManagerService be registered in resin.xml file.

Since the default resin.xml already includes a <resin:AdminAuthenticator> with a <resin:import>, you can just reuse the admin configuration from the /resin-admin page.

Example: enabling Resin ManagerService
  <resin xmlns="http://caucho.com/ns/resin"
         xmlns:resin="urn:java:com.caucho.resin">
  ...
  <cluster id=''>

    <resin:AdminAuthenticator>
      <user name="admin" password="{SSHA}h5QdSulQyqIgYP7B1J3YfnRSo56kD847"/>
    </resin:AdminAuthenticator>

    <resin:RemoteAdminService/>

    <resin:ManagerService/>

    ...
  </cluster>
    ...
  </resin>

available commands

commands
COMMANDDESCRIPTION
deploydeploys an application archive
undeployun-deploys an application specified by a context
deploy-listlists all applications deployed on a server
deploy-copycopies an application from one context to another
start-webappstarts web application context
stop-webappstops web application context
restart-webapprestarts web application context
heap-dumpproduces heap dump
thread-dumpproduces thread dump
profileturn profiling and displays results after sampling completes
jmx-listlists MBeans, attributes and operations
jmx-dumpdump all MBean attributes and values
jmx-setsets value of a jmx attribute
jmx-callcalls MBean's method
log-levelchanges log-level
pdf-reportgenerates pdf report

Since all commands require connecting to Resin server remotely list of required parameters includes authentication and remote connection options such as IP and Port.

common options
ARGUMENTMEANINGDEFAULT
-confconfiguration fileconf/resin.xml
-addressip or host name of the servertaken from conf/resin.xml
-portserver http porttaken from conf/resin.xml
-useruser name used for authentication to the servernone, required
-passwordpassword used for authentication to the servernone, required

console: starting in console mode

Start Resin in console mode with log-level. Console mode is useful for development or debugging. For production, use start or start-all instead. Resin will start under control of the control. Log output will go to the console.

resinctl console [options]
Example: starting in console
unix> resinctl console
Resin Professional 4.0.s120731 (built Tue, 31 Jul 2012 03:03:37 PDT)
Copyright(c) 1998-2012 Caucho Technology.  All rights reserved.

  1999999.license -- 1 Resin server Caucho
  ...
[12-08-03 16:04:42.670] {main} 
[12-08-03 16:04:42.670] {main} http listening to *:8080
[12-08-03 16:04:42.671] {main} 
[12-08-03 16:04:42.672] {main} Resin[id=app-0] started in 1438ms
console options
ARGUMENT/OPTIONMEANINGDEFAULT
--clustercluster to join when using --elastic-server
--elastic-dnslazy local DNS address binding: retry until succeed
--elastic-serverstart as a dynamic server joining a cluster
--serverthe server name to start"default" or local IP
--verbosestart with extra debugging

deploy: deploying a web application

Deploying an application is done with a deploy command

bin/resin.sh [-conf <file>] deploy [options] <war-file>
Example: deploying an application from a hello-world.war archive
unix> bin/resin.sh deploy -user admin -password secret /projects/hello-world/hello-world.war

Deployed production/webapp/default/hello-world as hello-world.war to http://127.0.0.1:8080/hmtp
deploy options
ARGUMENTMEANINGDEFAULT
-hostvirtual host to make application available ondefault
-namename of the context to deploy to, defaults to war-file name[/foo].war
-stagespecifies stage for staging an applicationproduction
-versionversion of application formatted as <major.minor.micro.qualifier>none

deploy-copy: copy application from '/mysource' to '/mytarget'

Copy a deployed application to a new deployment tag with deploy-copy.

resinctl deploy-copy [options]
Example: deploy-copy
unix> resinctl deploy-copy --source mysource --target mytarget

copied production/webapp/default/mysource to production/webapp/default/mytarget
deploy-copy options
ARGUMENTMEANINGDEFAULT
-sourcecontext to copy application fromnone
-source hosthost to copy application fromdefault
-source-stagesource stageproduction
-source-versionversion of the source application formatted as <major.minor.micro.qualifier>none
-targetcontext to copy application tonone
-target-hosthost to copy an application todefault
-target-stagetarget stageproduction
-target-versionversion application to use for a target, formatted as <major.minor.micro.qualifier>none

deploy-list: list deployed applications

List deployed applications with deploy-list.

resinctl deploy-list [options]
Example: deploy-list
unix> resinctl deploy-list

production/webapp/default/hello-world

heap-dump: producing JVM memory heap dump

To produce a heap dump resin provides heap-dump command. With Resin Open Source, heap-dump will produce a standard heap dump file and put it into the Resin log directory on the remote machine.

bin/resin.sh [-conf <file>] heap-dump [options] [-raw]
Example: producing a heap dump on Resin Open Source
unix> bin/resin.sh -conf conf/resin.conf heap-dump -user foo -password test -raw

Heap dump is written to `/var/log/resin/heap.hprof'.
To view the file on the target machine use
jvisualvm --openfile /var/log/resin/heap.hprof

Resin Pro, when heap-dump is given no -raw option is capable of producing a readable summary report.

Example: heap-dump
unix: bin/resin.sh -conf conf/resin.conf heap-dump -user foo -password test

Heap Dump generated Fri May 08 02:51:31 PDT 1998
   count   |  self size | child size | class name
        68 |       6528 |    3142736 | com.caucho.util.LruCache
     28768 |     920576 |    2674000 | java.lang.String
     29403 |    2066488 |    2066488 | char[]
        68 |    1927360 |    1927360 | com.caucho.util.LruCache$CacheItem[]
      7346 |     715416 |    1796320 | java.lang.Object[]
      5710 |     594200 |    1768624 | java.util.HashMap$Entry[]
      2827 |     135696 |    1606264 | java.util.HashMap
     20787 |     665184 |    1489024 | java.util.HashMap$Entry
      9682 |     852016 |    1235984 | java.lang.reflect.Method
     61507 |     984112 |     984400 | java.lang.Object
       337 |      16176 |     889192 | java.util.concurrent.ConcurrentHashMap
      2881 |     161336 |     883584 | java.util.LinkedHashMap
      1596 |     178752 |     702296 | com.caucho.quercus.program.ProStaticFunction

heap-dump options
ARGUMENT/OPTIONMEANINGDEFAULT
-rawproduces a standard .hprof file
note
Note
since raw heap dump can be on the order of gigabytes the resulting file is always left on the machine where Resin server is running.

jmx-list: listing JMX MBeans, attributes and operations

Commandjmx-list prints out JMX MBeans, attributes and operations registered in a JVM that is running Resin. As its last argument the command accepts <pattern>. The <pattern> follows convention defined for javax.management.ObjectName, defaulting to resin:*, which matches any MBean in resin domain.

bin/resin.sh [-conf <file>] jmx-list [options] [<pattern>]
Example: listing MBeans
unix> bin/resin.sh -conf conf/resin.conf jmx-list -user foo -password test com.acme:*

com.acme:type=Foo
com.acme:type=Bar
jmx-list options
ARGUMENT/OPTIONMEANING
-attributesoutputs a list of attributes for each MBean
-valuesoutputs a list of attributes and values for each MBean
-operationsoutputs a list of operations each MBean
-operationsoutputs a list of operations each MBean
-platformonly queries MBeans in java.lang domain(unless pattern is specified)
-allqueries MBeans in any domain(unless pattern is specified)
Example: listing MBeans with values
bin/resin.sh -conf conf/resin.conf jmx-list -user foo -password test -values com.acme:*

com.acme:type=Foo
  attributes:
    javax.management.MBeanAttributeInfo[description=,
            name=Boolean, type=boolean, read-only, descriptor={}]==false

jmx-dump: dump all MBean attributes and values

Commandjmx-dump produces a complete listing of a MBeans with current attribute values. The output is usually lengthy and can be directed to a file rather than stdout using the -file parameter.

bin/resin.sh [-conf <file>] jmx-dump [options] [-file <file>]
jmx-list options
ARGUMENT/OPTIONMEANINGDEFAULT
-fileif specified, writes output to file
Example: dumping JMX
bin/resin.sh -conf conf/resin.conf jmx-dump -user foo -password test
JMX Dump:
java.lang:type=MemoryPool,name=CMS Old Gen {
  Name=CMS Old Gen
  Type=HEAP
...

jmx-set: setting attribute value on MBeans

Commandjmx-set sets a value on an attribute belonging to a particular JMX MBean.

bin/resin.sh [-conf <file>] jmx-set [options] -pattern <pattern> -attribute <attribute> value
Example: setting attribute value
unix> bin/resin.sh -conf conf/resin.conf jmx-set -user foo -password test \
                   -pattern com.acme:type=Foo -attribute Foo foo-value

value for attribute `Foo' on bean `com.acme:type=Foo' is changed from `null' to `foo-value'
jmx-set options
ARGUMENT/OPTIONMEANING
-patternspecifies pattern to match target MBean
-attributesets name of the attribute
valueString representation of the value (primitive types and String are supported)

jmx-call: invoking method on a MBean

Commandjmx-call calls a method on a specified with < pattern> MBean.

bin/resin.sh [-conf <file>] jmx-call [options] -pattern <pattern> -operation <operation> value...
Example: invoking method on MBean
unix> bin/resin.sh -conf conf/resin.conf jmx-call \
                   -user foo -password test \
                   -pattern com.acme:type=Foo -pattern com.acme:type=Foo \
                   -operation echo hello

method `echo(java.lang.String)' called on `com.acme:type=Foo' returned `hello'.

jmx-call options
ARGUMENT/OPTIONMEANING
-patternspecifies pattern to match target MBean
-operationsets name of the operation to invoke
valuespace separated list of parameters that will be passed to the method (primitive types and String are supported)

license-add: copy a license to the license directory

The license-add is a convenient way to remotely add a license to the correct license directory

bin/resin.sh [-conf <file>] license-add -license <license file> [options]
Example: copy test.license to the license directory as test.license, overwrite if exists
unix> bin/resin.sh license-add -user admin -password secret -license test.license -overwrite

add-license wrote test.license successfully
license-add options
ARGUMENTMEANINGDEFAULT
-licensePath to license file to addnone, required
-toFile name license will be written toname of license file
-overwriteOverwrite existing license file if existsfalse, true if set
-restartRestart Resin after license is addedfalse, true if set

log-level: setting log level

Change the logging level temporarily with log-level. The java.util.logging level will change to the new value.

resinctl log-level [options] \
            -all|-finest|-finer|-fine|-config|-info|-warning|-severe|-off \
            [-active-time <time-period>] [names...]
Example: setting log level
unix> resinctl log-level --finer --active-time 5s com.mycom.mypkg

Log level is set to 'FINER', active time 5 seconds: {root}, com.caucho
log-level options
ARGUMENT/OPTIONMEANINGDEFAULT
-active-timespecifies temporary level active time. e.g. 5spermanent
-<level>specifies new log levelnone, required
valuename of the logger(s). Defaults to root and `com.caucho' loggers.

password-encrypt: encrypts a configuration password

Encrypt a configuration password with password-encrypt. For a configuration password, you can use the <resin:Password> tag with the password to avoid plaintext.

resinctl password-encrypt [options] plaintext

The password-encrypt encrypts plaintext for a configuration password. See the <resin:Password> for use.

Example: password-encrypt
unix> resinctl password-generate mypassword
password: {RESIN}bjuNvBjEDN2m6ynQU8SqQA==
Example: resin-web.xml with database
<web-app xmlns="http://caucho.com/ns/resin"
   xmlns:resin="urn:java:com.caucho.resin">

  <database jndi-name='jdbc/test_mysql'>
    <driver type="com.mysql.jdbc.Driver">
      <url>jdbc:mysql://localhost:3306/test</url>
      <user>myuser</user>
      <password>
        <resin:Password>{RESIN}bjuNvBjEDN2m6ynQU8SqQA==</resin:Password>
      </password>
    </driver>
  </database>
   

</web-app>
Example: resin.properties openssl_password
openssl_password: {RESIN}bjuNvBjEDN2m6ynQU8SqQA==
password-encrypt options
ARGUMENT/OPTIONMEANINGDEFAULT

password-generate: generates an admin password

Generate an admin password with password-generate. You can paste the output into the resin.properties file. The admin password is used for /resin-admin, remote deployment and REST administration.

resinctl password-generate [options] name password
Example: password-generate
unix> resinctl password-generate myuser mypassword
admin_user : myuser
admin_password : {SSHA}yAKopu5id740xAoePKZOGyAtu78DpZck
password-generate options
ARGUMENT/OPTIONMEANINGDEFAULT

pdf-report: pdf report generation

Generate a PDF report for the server with pdf-report.

resinctl pdf-report [options]
Example: generate the default watchdog PDF report
unix> bin/resin.sh pdf-report -user admin -password secret -watchdog

generated /usr/local/share/resin/log/default-Watchdog-20110801T0251.pdf
pdf-report options
ARGUMENTMEANINGDEFAULT
-logdirPDF output directoryResin log directory
-pathPath to a PDF generating .php file${resin.home}/doc/admin/pdf-gen.php
-periodReport look back period of time7D
-snapshotTake a snapshot of the server before reportingfalse
-watchdogReport on server period to the last restartfalse

profile: CPU profiling application

Profile an applications to find bottlenecks and CPU spikes. Resin's profile command turn on sampling for requested period of time and prints out profiling resutls.

resinctl profile [options]
Example: profiling an application
unix> resinctl profile

Profile started at 1998-05-08 02:51:31.001. Active for a total of 5000ms.
Sampling rate 10ms. Depth 16.
   % time  |time self(s)|   % sum    | Method Call
   800.000 |     40.080 |     28.407 | com.caucho.env.thread.AbstractTaskWorker.run()
   300.000 |     15.030 |     39.060 | com.caucho.env.thread.ResinThread.waitForTask()
   200.000 |     10.020 |     46.162 | com.caucho.vfs.JniSocketImpl.nativeAccept()
   116.168 |      5.820 |     50.287 | _jsp._test__jsp$1.run()
   100.000 |      5.010 |     53.838 | com.caucho.env.thread.AbstractTaskWorker.run()
   100.000 |      5.010 |     57.389 | java.lang.ref.ReferenceQueue.remove()
   100.000 |      5.010 |     60.940 | com.caucho.server.admin.ManagerActor.profile()
   100.000 |      5.010 |     64.491 | java.lang.ref.Reference$ReferenceHandler.run()
   100.000 |      5.010 |     68.042 | java.lang.UNIXProcess.waitForProcessExit()
   100.000 |      5.010 |     71.593 | java.io.FileInputStream.readBytes()
   100.000 |      5.010 |     75.144 | com.caucho.util.Alarm$AlarmThread.run()
   100.000 |      5.010 |     78.694 | com.caucho.env.shutdown.ShutdownSystem$ShutdownThread.run()
   100.000 |      5.010 |     82.245 | com.caucho.network.listen.JniSelectManager.selectNative()
   100.000 |      5.010 |     85.796 | unknown
   100.000 |      5.010 |     89.347 | com.caucho.vfs.JniSocketImpl.readNative()
   100.000 |      5.010 |     92.898 | com.caucho.test.Test$Timeout.run()
   100.000 |      5.010 |     96.449 | com.caucho.profile.ProProfile.nativeProfile()
   100.000 |      5.010 |    100.000 | java.lang.Thread.sleep()
com.caucho.env.thread.AbstractTaskWorker.run()
  sun.misc.Unsafe.park()
  java.util.concurrent.locks.LockSupport.parkUntil()
  com.caucho.env.thread.AbstractTaskWorker.run()
  com.caucho.env.thread.ResinThread.runTasks()
  com.caucho.env.thread.ResinThread.run()

  • % time - percentage of total profile time. The number can be larger than 100% because of multithreading. Methods that are 100%, or multiples, are generally blocking methods and can be ignored. If an active method is 100%, it might be a CPU spinning thread.
  • time self(s) - time in seconds for the method.
  • % sum - percentage of all methods time. All the method times are added, and this method's own time is computed as a percentage.
profile options
ARGUMENT/OPTIONMEANINGDEFAULT
-active-timespecifies profiling time span in ms (defaults to 5000 - 5 sec.)5s
-sampling-ratespecifies sampling rate (defaults to 10ms)10ms

restart: restart a daemon server

Restart a Resin daemon server with restart.

resinctl restart [options]

The restart command will select the matching server and restart it. If the --server attribute is specified, the matching server will restart. Otherwise, restart will look for all configured servers with a matching local IP address. If none match, it will use the default server.

Example: restart a daemon
unix> resinctl restart
Resin/4.0.30 restarted -server 'app-0' for watchdog at 127.0.0.1:6600
restart options
ARGUMENT/OPTIONMEANINGDEFAULT
--serverthe server name to restart"default" or local IP

scoreboard: thread activity summary

scoreboard produces a concise thread activity report for groups of related threads.

resinctl scoreboard [options]
Example: scoreboard
unix> resinctl scoreboard
[Port 127.0.0.1:6800 Threads]
____R

[Port *:8080 Threads]
____RRRRR

[Resin Threads]
ww.....w......RwR.Rwwww....w.....wwwww..www

[Other Threads]
wRww

[Scoreboard Key]
w   WAITING
b   BLOCKED
R   RUNNING
_   ACCEPT
N   NATIVE
.   IDLE

scoreboard options
ARGUMENT/OPTIONMEANINGDEFAULT
--typeScoreboard report typeresin
--greedyIf false threads can be categoried into more than one grouptrue

shutdown: shutdown all daemon servers

Shutdown all Resin daemon servers and watchdog with shutdown.

resinctl shutdown [options]

The shutdown command shuts down the watchdog manager, and all servers managed by the watchdog.

Example: shutdown watchdog
unix> resinctl shutdown
Resin/4.0.30 shutdown watchdog at 127.0.0.1:6600
shutdown options
ARGUMENT/OPTIONMEANINGDEFAULT

start: starting as a daemon

Start Resin as a daemon with start. You can also use start-all which will start all local servers.

resinctl start [options]

The start command will select a single server. If the --server attribute is specified, the matching server will start. Otherwise, start will look for a configured server with a matching local IP address. To start multiple servers on the same machine, use start-all If none match, it will use the default server.

Example: starting as a daemon
unix> resinctl start
Resin/4.0.30 launching watchdog at 127.0.0.1:6600
Resin/4.0.30 started -server 'app-0' with watchdog at 127.0.0.1:6600

To debug any start problems, see the log directory which contains a watchdog-manager.log and jvm-default.log.

start options
ARGUMENT/OPTIONMEANINGDEFAULT
--clustercluster to join when using --elastic-server
--elastic-dnslazy local DNS address binding: retry until succeed
--elastic-serverstart as a dynamic server joining a cluster
--serverthe server name to start"default" or local IP
--verbosestart with extra debugging

start-all: starting multiple servers as a daemon

Start Resin servers as a daemon with start-all. All servers listening to the local IP address will be started.

resinctl start-all [options]

The start-all command will select all matching servers. If the --server attribute is specified, the matching server will start. Otherwise, start-all will look for all configured servers with a matching local IP address. If none match, it will use the default server. If none match, and dynamic servers are enabled, start-all will start a dynamic server.

Example: starting as a daemon
unix> resinctl start-all
Resin/4.0.30 launching watchdog at 127.0.0.1:6600
Resin/4.0.30 started -server 'app-0' with watchdog at 127.0.0.1:6600

To debug any start-all problems, see the log directory which contains a watchdog-manager.log and jvm-default.log.

start-all options
ARGUMENT/OPTIONMEANINGDEFAULT
--clustercluster to join when using --elastic-server
--elastic-dnslazy local DNS address binding: retry until succeed
--elastic-serverstart as a dynamic server joining a cluster
--serverthe server name to start"default" or local IP
--verbosestart with extra debugging

status: status of daemon server

View the status of Resin daemon server with status.

resinctl status [options]

The status command prints a status summary for each server managed by the local watchdog.

Example: server status
unix> resinctl status
Resin/4.0.30 status for watchdog at 127.0.0.1:6600

watchdog:
  watchdog-pid: 6551

server 'app-0' : ACTIVE
  password: missing
  watchdog-user: caucho
  user: caucho
  root: /var/resin/
  conf: /etc/resin/resin.xml
  pid: 6598
  uptime: 0 days 00h00
status options
ARGUMENT/OPTIONMEANINGDEFAULT

stop: stop a daemon server

Stop a Resin daemon server with stop.

resinctl stop [options]

The stop command will select the matching. If the --server attribute is specified, the matching server will stop Otherwise, stop will look for all configured servers with a matching local IP address. If none match, it will use the default server.

Example: stop a daemon
unix> resinctl stop
Resin/4.0.30 stopped for watchdog at 127.0.0.1:6600
stop options
ARGUMENT/OPTIONMEANINGDEFAULT
--serverthe server name to stop"default" or local IP

thread-dump: producing a thread dump

Dump the JVM's threads with thread-dump. The thread dump is produced on a remote sever and printed out locally.

resinctl thread-dump [options] [-raw]
Example: producing a thread dump
unix> resinctl thread-dump -raw

  Thread Dump:

  "MailboxWorker[manager@resin.caucho]-8" id=31 RUNNABLE
    at sun.management.ThreadImpl.getThreadInfo0 (ThreadImpl.java) (native)
    at sun.management.ThreadImpl.getThreadInfo (ThreadImpl.java:147)
    at com.caucho.util.ThreadDump.threadDumpImpl (ThreadDump.java:88)
    at com.caucho.util.ThreadDump.getThreadDump (ThreadDump.java:62)
    at com.caucho.server.admin.ManagerActor.doThreadDump (ManagerActor.java:148)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (NativeMethodAccessorImpl.java) (native)
    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 com.caucho.bam.actor.BamSkeleton$QueryMethodInvoker.invoke (BamSkeleton.java:501)
    at com.caucho.bam.actor.BamSkeleton.query (BamSkeleton.java:215)
    at com.caucho.bam.actor.SkeletonActorFilter.query (SkeletonActorFilter.java:187)
    at com.caucho.bam.query.QueryActorFilter.query (QueryActorFilter.java:95)
    at com.caucho.bam.packet.Query.dispatch (Query.java:86)
    at com.caucho.bam.mailbox.MultiworkerMailbox.dispatch (MultiworkerMailbox.java:268)
    at com.caucho.bam.mailbox.MailboxWorker.runTask (MailboxWorker.java:73)
    at com.caucho.env.thread.AbstractTaskWorker.run (AbstractTaskWorker.java:160)
    at com.caucho.env.thread.ResinThread.runTasks (ResinThread.java:164)
    at com.caucho.env.thread.ResinThread.run (ResinThread.java:130)

  "Signal Dispatcher" id=5 RUNNABLE

  "http://*:8087-1" id=26 RUNNABLE (in native)
    at com.caucho.vfs.JniSocketImpl.readNative (JniSocketImpl.java) (native)
    at com.caucho.vfs.JniSocketImpl.read (JniSocketImpl.java:337)
    at com.caucho.vfs.JniStream.readTimeout (JniStream.java:90)
    at com.caucho.vfs.ReadStream.fillWithTimeout (ReadStream.java:1135)
    at com.caucho.network.listen.TcpSocketLinkListener.keepaliveThreadRead (TcpSocketLinkListener.java:1345)
    at com.caucho.network.listen.TcpSocketLink.processKeepalive (TcpSocketLink.java:767)
    at com.caucho.network.listen.DuplexReadTask.doTask (DuplexReadTask.java:91)
    at com.caucho.network.listen.TcpSocketLink.handleRequests (TcpSocketLink.java:646)
    at com.caucho.network.listen.AcceptTask.doTask (AcceptTask.java:104)
    at com.caucho.network.listen.ConnectionReadTask.runThread (ConnectionReadTask.java:98)
    at com.caucho.network.listen.ConnectionReadTask.run (ConnectionReadTask.java:81)
    at com.caucho.network.listen.AcceptTask.run (AcceptTask.java:67)
    at com.caucho.env.thread.ResinThread.runTasks (ResinThread.java:164)
    at com.caucho.env.thread.ResinThread.run (ResinThread.java:130)

...

undeploy: undeploying application

Undeploy an application with undeploy. After the undeploy, the application is stopped, removed from the repository and no longer responds to requests.

resinctl undeploy [options] <name>
Example: undeploy
unix> resinctl undeploy undeploy foo

Undeployed foo from http://127.0.0.1:8080/hmtp
undeploy options
ARGUMENTMEANINGDEFAULT
-hostvirtual host of the applicationdefault
-stagedeployment stage of the applicationproduction
-versionversion of the application formatted as <major.minor.micro.qualifier>none

webapp-restart: restarting application

Start an application with webapp-restart.

resinctl restart-webapp [options] <name>
Example: stop web application deployed at context '/myapp'
unix> resinctl webapp-restart myapp

'production/webapp/default/myapp' is restarted
webapp-restart options
ARGUMENTMEANINGDEFAULT
-hostvirtual host to make application available ondefault
-stagespecifies stage for staging an applicationproduction
-versionversion of application formatted as <major.minor.micro.qualifier>none

webapp-start: starting application

Start an application with webapp-start

resinctl webapp-start [options] <name>
Example: start web application deployed at context '/myapp'
unix> resinctl webapp-start myapp

'production/webapp/default/myapp' is started
webapp-start options
ARGUMENTMEANINGDEFAULT
-hostvirtual host of the applicationdefault
-stagedeployment stage of the applicationproduction
-versionversion of application formatted as <major.minor.micro.qualifier>none

webapp-stop: stopping application

Stop an application with webapp-stop.

resinctl webapp-stop [options] <name>
Example: stop web application '/myapp'
unix> resinctl webapp-stop myapp

'production/webapp/default/myapp' is stopped
webapp-stop options
ARGUMENTMEANINGDEFAULT
-hostvirtual host to make application available ondefault
-stagespecifies stage for staging an applicationproduction
-versionversion of application formatted as <major.minor.micro.qualifier>none

Copyright © 1998-2015 Caucho Technology, Inc. All rights reserved. Resin ® is a registered trademark. Quercustm, and Hessiantm are trademarks of Caucho Technology.