Help

Jesper Pedersen leads the Java Connector Architecture (JCA) project within JBoss, a division of Red Hat. He also leads the projects JBoss Tattletale which focus on software quality, Papaki - an annotation scanner and JBoss Profiler 2 - an open source profiler suite.

Location: Westford, MA
Occupation: Principal Software Engineer
Archive

I'm happy to announce the availability of JBoss Annotations 1.0.0.Alpha1.

JBoss Annotations is a project that will allow you to do annotation scanning of your project and build a repository for these annotations. Furthermore the project will provide various tools that will help in the annotation parsing phase and integration with other JBoss projects.

Why ?

So why did we choose to start yet another annotation scanning project ? The main reason are that we want to have

  • A dedicated API for scanning annotations
  • A repository that is easy to query
  • Integration with JBoss projects, like the JBoss Microcontainer

The last bullet is important since it will allow us to provide an uniform annotation platform when running f.ex. the JBoss Application Server. The project can be used out-side of a JBoss environment, since its dependencies are the Javassist library and JAXB.

Usage

The usage of the library is pretty straight forward :)

// Create an annotation scanner with the default annotation scanning strategy
AnnotationScanner as = AnnotationScannerFactory.getDefault();

// URLs to .class and .jar files
URL[] urls = ...;

AnnotationReposity ar = as.scan(urls);

if (ar.hasAnnotation(MyAnnotation.class))
{
   List<Annotation> l = ar.getAnnotation(MyAnnotation.class);
   for (Annotation annotation : l)
   {
      MyAnnotation myAnnotation = (MyAnnotation)annotation.getAnnotation();
      AnnotationType type = annotation.getType();
      if (AnnotationType.CLASS == type)
      {
        ...
   }
}

You can find out more about the API in the JavaDoc, Users Guide and Developer Guide included in the distribution.

Status

Since this is the first developer snapshot of the project there is a lot to do. So feel free to contact us if you want to help out or to get some of your own ideas into the project :)

We plan to release developer snapshots on a regular basis - basically when a couple of new use-cases has been implemented. So stay tuned for updates !

For Those About to Rock, We Salute You !

[JIRA] [Download] [ViewVC]

30. Jul 2009, 02:42 CET, by Jesper Pedersen

We are happy to announce the second developer snapshot of the JBoss JCA project which implements the upcoming Java Connector Architecture 1.6 (JSR-322) specification.

The release

We have worked in various areas for this release and the container now features

  • A new logging framework which bridges all existing Java logging frameworks out there
  • A remotable POJO naming server
  • Initial support for the JCA 1.6 annotations

Our community member Gurkan Erdogdu have been working on the new WorkManager implementation which have seen a lot of activity during this development cycle.

Of course there are other changes too - check out our release notes.

Annotations

The JCA 1.6 specification features annotations which will help ease the development of a resource adapter, since you now don't have to specify a long ra.xml file :)

import javax.resource.spi.Connector;
import javax.resource.spi.TransactionSupport;

/**
 * My resource adapter
 */
@Connector(
      vendorName = "My company",
      eisType = "My EIS",
      version = "0.1",
      transactionSupport = TransactionSupport.TransactionSupportLevel.LocalTransaction,
      reauthenticationSupport = false)
public class MyResourceAdapter implements ResourceAdapter
{

Other annotations include

  • Activation
  • AdministeredObject
  • AuthenticationMechanism
  • ConfigProperty
  • ConnectionDefinition
  • ConnectionDefinitions
  • SecurityPermission

Their JavaDoc is included in the release.

Please, send your feedback about the annotations to the expert group. We are currently going over them and implementing the sparse XSD that is needed.

Next development cycle

We are currently looking at the Bean Validation integration, so hopefully we'll see some changes in that area soon.

If you are interested in helping out with the project in any way drop by our forum !

For Those About to Rock, We Salute You !

[WebSite] [Download] [JIRA] [Forum]

01. Jul 2009, 20:39 CET, by Jesper Pedersen

The Java Connector Architecture (JCA) defines a standard architecture for connecting the Java EE platform to heterogeneous Enterprise Information Systems (EIS).

The goal of the JBoss JCA project is to provide an implementation of the Java Connector Architecture 1.6 (JSR-322) specification scheduled for inclusion in the upcoming Java Enterprise Edition 6 platform.

What's New ?

Among the changes are

  • Ease of Development: The use of annotations reduces or completely eliminates the need to deal with a deployment descriptor in many cases. The use of annotations also reduces the need to keep the deployment descriptor synchronized with changes to source code.
  • Generic work context contract: A generic contract that enables a resource adapter to control the execution context of a Work instance that it has submitted to the application server for execution.
  • Security work context: A standard contract that enables a resource adapter to establish security information while submiting a Work instance for execution to a WorkManager and while delivering messages to message endpoints residing in the application server.
  • Standalone Container Environment: A defined set of services that makes up a standalone execution environment for resource adapters.

Why should I care ?

If you are using the JBoss Application Server (and of course you are, right ?) for your deployments you depend on the JCA layer to give you access to your external datasources such as databases, messaging and mail systems.

Furthermore the JDBC resource adapter deployed within JBoss Application Server provides you with a connection and prepared statement pool which gives your application a performance boost.

So the JCA layer is actually quite important, so you should care :)

Enter JBoss JCA

The JBoss JCA project will implement the JCA 1.6 specification using a POJO based model and using the JBoss Microcontainer as its foundation.

The POJO based model will allow

  • Easy integration with other projects
  • Multiple flavors (Running inside an application server, Standalone container, Embedded container)
  • Looser coupling of services

I'll discuss these and other features in more details in future releases.

As this is the first alpha release it is of course not feature complete nor production ready. The release is meant as a developer snapshot that will give an indication of where we are heading.

If you are interested in helping out with the project in any way drop by our forum ! Or download the specification and post your comments to the expert group so your voice is heard.

For Those About to Rock, We Salute You !

[Website] [Download] [JIRA] [Forum]

24. Jun 2009, 03:14 CET, by Jesper Pedersen

A quick release after last month Beta4 release, but it doesn't mean that JBoss Profiler 2.0.0.Beta5 doesn't have new features.

Along with the normal bug fixes and improvements this release has two cool features that you should check out.

Embedded mode

The profiler distribution now ships with a

jboss-profiler-embedded.jar

file, which contains both the agent and the client API.

This will make it easy to integrate JBoss Profiler into your own project, and control when profiling should be done.

Feedback on this feature would be great so I can get an idea of what you would like to see in this space.

Precompiler

The distribution now also ships with a precompiler, which is able to precompile all your JAR files with profiler call-backs. This will allow you to

  1. Faster startup
  2. Easier to swap out JAR files that you have profiled

Making it a lot easier to profile large applications or platforms.

The precompiler uses the same option style as the agent for its arguments

java -Xmx1024m -jar jboss-profiler-precompiler.jar com.mycompany.* com.mycompany.highperformance.*,* private ~/myapplication

You can read more about the precompiler in the users guide.

The road ahead

Still a lot to do - and I'm still looking for people that wants to help out with

  • JVMTI/HPROF backend
  • JSF/RichFaces web ui
  • Documentation and examples
  • Your ideas of course !

So feel free to drop by our forum :)

For Those About to Rock, We Salute You !

[Website] [Download] [Forum]

01. Jun 2009, 00:22 CET, by Jesper Pedersen

It has been 6 months since the last JBoss Profiler 2.0 release, so I have tagged and uploaded JBoss Profiler 2.0 Beta4 to the web site.

Changes over the 2.0 Beta3 release include

  • Converted all reports to HTML
  • Converted documentation to Docbook and include it as PDF in distribution
  • Bug-fixes
  • Initial build environment (cmake) for the native backend (SVN only)

If you havn't looked at the JBoss Profiler 2 branch yet; here is a quick overview of its features

  • 100% Pure Java
  • Integration with JBoss Application Server 5.x and 4.2
  • Access through multiple protocols using JBoss Remoting (Socket, RMI, HTTP)
  • Reports (Overview, Packages, Classes, Methods, Hotspots, Caller, Wait time, PerThread, PerClass)
  • Able to specify method visibility (Global, Package, Class)
  • Component identification (POJO, Throwable, Java Enterprise 5 (EJB, Servlet, ...), 3rd party plugins (Hibernate, Seam)
  • Compare snapshots
  • Client (Command line, Ant integration)

A lot of features, so take a look and send us feedback through the forum.

The next development cycle will focus on the JSF/RichFaces web front-end and the native JVMTI/HPROF backend. Also the documentation could use a bit more work ;)

So if you are interested in helping out in ones of these areas

  • Web front-end using JSF / RichFaces
  • Native backend (did someone say C ?)
  • Documentation / Screenshots
  • Your own ideas

drop by the forum and let us know.

For Those About to Rock, We Salute You !

[Website] [Download] [Forum]

Showing 46 to 50 of 52 blog entries