Introduction of Gogo Shell
Gogo shell is command line interface. Using it we can interact or manage lifecycle of OSGi bundles like install bundle, start bundle, stop bundle and uninstall bundle. Gogo is based on the OSGi RFC-147. It describes a standard shell for OSGi based environments.
Felix Gogo Shell has been implemented in three bundles. Those three bundles are available in OSGi container and its as follows :
- Org.apache.felix.gogo.command - Contains a set of basic command.
- Org.apache.felix.gogo.runtime - Represent core command processing capability.
- Org.apache.felix.gogo.shell - User interface to interact with command.
Access Gogo shell in Liferay
From Liferay 7, OSGI framework is used to build modular application. OSGI supports a standard way to interact with modules. So using Gogo shell we can interact or manage liferay cycle of OSGi bundles.
In Liferay 7 and 7.1 an implementation of Gogo shell in the form of bundles or modules. When Liferay server starts following modules are available in server logs.
Apache Felix Gogo Command (0.12.0) - Contains a set of basic commands.
Apache Felix Gogo Runtime (0.10.0) - Represent core command processing capability.
Apache Felix Gogo Shell (0.10.0) - User interface to interact with command.
CE Foundation-Liferay CE Gogo Shell-Impl (1.0.0) - Implementation of underlying Gogo shell interface.
Liferay Gogo Shell Web (2.0.1) - Provides a web interface to execute Gogo commands from a browser.
There are various options for connect or use Gogo shell in Liferay 7/DXP as follows :
- Liferay IDE
For Windows, you need to follow below steps :
- Go to Control panel ? Programs and Features.
- Click on Turn Windows features on or off.
- Search and select Telnet Client.
- Click on the OK button.
- Open command prompt.
- Hit the telnet localhost 11311 command.
For Ubuntu, you need to follow below steps :
- Open command prompt.
- Execute the telnet localhost 11311 command.
In Liferay 7.1 they provide Gogo shell in portal. You can access this portlet in the Control Panel ? Configuration ? Gogo Shell.
"Here, localhost is the host name to connect. I am using localhost because of my server is running in my local. But if the server is running on remote machine, then you need to use remote machine IP as host name. And 11311 is the default port number to use connect Gogo shell."
Note: In Liferay 7.1 you can access Gogo shell in local machine using telnet session. For that, you must have Developer Mode enabled.
Add below properties into portal-ext.properties file.
How to change Gogo shell port number
You can change the Gogo shell default port number if you want. For that you need to add below property into portal-ext.properties file.
Note: Make sure the Developer Mode properties should not be present in portal-ext.properties file. Because, Custom port number set with above property will not work. So simply remove include-and-override=portal-developer.properties.
Gogo shell commands example
- lb : shows the list of all bundles
- bundle : shows the installed bundle information - bundle [BUNDLE_ID]
- stop : stop the specific bundle - stop [BUNDLE_ID]
- start : stop the specific bundle - start [BUNDLE_ID]
- Using grep in gogo shell :
The grep command is used to search the input for lines that match a given pattern. It returns false if did not find any lines otherwise it returns true.
There are many more commands available you can also use that. Here some more useful Gogo shell commands.
For professional paid support, you may contact us at firstname.lastname@example.org .