Liferay leverages the OSGi framework to provide a development environment for modular applications. There are many OSGi best practices that Liferay Portal follows to provide an easy-to-develop-for platform. Here, you’re introduced to some OSGi basics and common Liferay best practices for your bundle’s (module) development.
All Liferay Portal applications live in its OSGi container. Portal is a web application deployed on your application server. Portal’s Module Framework bundles (modules) live in the OSGi container...Read More
The OSGi container searches several places for imported classes. It’s important to know where it looks and in what order. Liferay Portal’s classloading flow for OSGi bundles follows the OSGi Core...Read More
The OSGi framework lets you build applications composed of multiple modules. The modules must resolve their Java package dependencies for the framework to assemble the modules into a working...Read More
When there’s an existing service that you want to customize or implement differently, you can override the existing one. To do this, you create and deploy a new, higher-ranked service...Read More
Developers creating applications for Liferay Portal CE 7.0 can choose to create them as Java EE-style Web Application ARchive (WAR) artifacts or as Java ARchive (JAR) OSGi bundle artifacts. Some...Read More
Your modules will often need to use Java classes from packages exported by other modules. When a module is set up to import, the OSGi framework finds other registered modules that export the needed...Read More
An OSGi module’s Java packages are private by default. To expose a package, you must explicitly export it. This way you share only the classes you want to share. Exporting a package in your OSGi...Read More