jTDS configurable OSGi Component 1.0.0 release

We are proud to announce that the first release of jTDS OSGi component is released.

This bundle contains a configurable component that can instantiate a JtdsDataSource and register it as an OSGi service with the following types:

All attributes that are defined by jTDS can be configured in a type-safe way. The list of configuration options are available at http://jtds.sourceforge.net/faq.html#urlFormat.

Although usage of DataSourceFactory is popular in the OSGi world, we decided to discontinue its support. The reason is simply that developers and sys-admins can work more effectively with components that have the exact type-safe configuration possibilities the JDBC driver offers.

Posted in Uncategorized

New releases: coding-conventions and maven configuration modules

New releases are available on maven-central:

Tagged with: ,
Posted in Uncategorized

Everit Component Model 1.0.0 release

After lots of work, ECM (Everit Component Model) is finally released. In the scope of the project several modules were developed:

  • org.everit.osgi.capabilitycollector: A simple library that helps tracking references (currently OSGi services and Bundles). ECM uses this library to be able to track the references of components.
  • org.everit.osgi.ecm.util.method: Helper methods to generate and parse method signatures and to locate methods based on the 112.9.4 Locating Component Methods chapter of OSGi Compendium specification.
  • org.everit.osgi.ecm.metadata: To create a component, the engine needs a Class type and metadata that belongs to it.
  • org.everit.osgi.ecm.annotation: Annotations of ECM, that can be used to describe the component functionality of a class
  • org.everit.osgi.ecm.annotation.metadatabuilder: A simple utility library that can be used to generate Metadata (that can be passed to ECM Container Factory) from annotated classes.
  •  org.everit.osgi.ecm.component.api: API for ECM based Component development. This module contains interfaces like ComponentContext.
  • org.everit.osgi.ecm.component.ri: The most important module that contains the reference implementation of ECM
  • org.everit.osgi.ecm.extender.api: Constants that can be used by programmers who want to use the extender functionality instead of activating their components programmatically.
  • org.everit.osgi.ecm.component.ri: Programmers who do not want to depend on the reference implementation module (but only on annotations) can use the extender to let their annotated classes picked up automatically. To do that, they have to provide a capability in their bundle that tells which class(es) should be picked up by the extender.
  • org.everit.osgi.linkage.api: A general interface structure that can be used to analyze Resources and Wires in the system. ECM implements this API so it is possible to query components, their capabilities (OSGi services) and requirements (references) via this API. Later a bridge to DS might be implemented.
  • org.everit.osgi.ecm.component.webconsole: A webconsole component that shows the state of the components and containers.

During the development, I had a speech at EclipseCon where I compared Declarative Services with the concept of Everit Component Model. It was not my best presentation, but it is a good way to start if you watch it: https://www.youtube.com/watch?v=LX1LwPLFDl8

Tagged with: ,
Posted in Uncategorized

Thread viewer webconsole plugin 1.0.0 released

I am happy to announce that Everit Thread Viewer Webconsole plugin 1.0.0 is released.



The plugin is available on maven central.

Please note, that the plugin uses mvel to generate the pages. To avoid exceptions that are caused by the ASM extender, switch it off by setting the following system property:


Tagged with: ,
Posted in Uncategorized

OSGi Jetty Boot 1.0.0 release

I am happy to announce the 1.0.0 version of Everit OSGi Jetty Boot. The bundle starts an embedded Jetty server with HttpService (Felix implementation) support.

The configuration options are available in the README file of the project.

The goal of the project is to

  • have as less dependencies as it is possible
  • not bundle any 3rd party jars but use them as a dependency

By having the rules above, it is much easier to keep up with new Jetty versions.

The project does not and will not support WABs, JSF and other technologies that bring more pain in OSGi than benefit.

Although business applications can be implemented based on HttpService feature, it is recommended to use the configurable Jetty components instead (release comes soon). With that, you will be able to configure as many servers with as many connectors as you want via ConfigAdmin. Also, it is not recommended to make Webconsole and other administration pages accessible on the same port as the business applications.

The boot bundle and its dependencies are available on Maven central.

Tagged with: ,
Posted in Uncategorized

New versions of Everit Conventions and Parent POMs

I am happy to announce the new versions of our Coding Conventions project.

The major changes are the following according to the Checkstyle rules:

  • License changed from LGPL 3.0 to Apache 2.0
  • Java 8 support
  • Maximum line length 100
  • Indentation offset 2 spaces
  • Custom rule for ignoring code marked with @Generated annotation (the jar file of the conventions artifact must be copied to the “dropins” folder of Eclipse)

The parent pom-s are also updated. The major changes are the following:

  • The maven build will fail if certain Checkstyle, Findbugs or PMD rules are violated (part of the “quality” profile)
  • Baselining introduced with baselining-maven-plugin to help us in Semantic Versioning

Note: To disable the Checkstyle, Findbugs and PMD checks, execute your Maven command with “-P!quality”.

Posted in Uncategorized

Everit Templating HTML 1.1.0 released

I am happy to announce the version 1.1.0 of Everit Templating HTML. In this release a new attribute and an attribute enhancement were introduced.

For more information about the release notes, please see the 1.1.0 milestone page at GitHub!

Posted in Uncategorized