Habari! Blog

Receive Apache Log4j messages with Delphi

Posted by: Michael Justin on: February 7, 2010

The Habari ActiveMQ Client library for Delphi and Free Pascal can be used for monitoring of Java(tm) applications which use the popular Apache Log4j logging framework.

This screenshot shows the output of a Delphi console application. It listens to a logging topic which receives log messages from an ActiveMQ message broker. The log messages have been sent to the logging topic using the Log4J JMSAppender.

log4j

Delphi application receiving Apache Log4j messages

How does it work?

  • the Java(tm) application uses the Apache Log4j  framework to send log events to a JMS topic on a Apache ActiveMQ message broker
  • these log events are native Java objects so they can be consumed by other Java clients which suscribe to the message topic
  • the Delphi client subscribes to the ActiveMQ broker topic and indicates that it wants to receive the log events serialized, using JSON or XML
  • ActiveMQ performs the object serialization when it sends the object message to the Delphi client – Java clients which have a subscription for the same log topic are unaffected
  • the Delphi client then deserializes and prints the messages

It is possible to use serialization in the opposite direction: a log event object can be created in Delphi code and then sent to the message broker. ActiveMQ will then convert them to native Java log events. A Java application then can create a consumer for the log topic and receive the log events from Delphi.

Update: the HabariActiveMQObjectExchange download now includes the Java and Delphi source code for the Log4j logging message publisher and subscriber examples.

madxnet: your online gateway for madExcept bug reports

Posted by: Michael Justin on: January 29, 2010

betasoft today announced the public alpha test of madxnet, a web application for processing of bug reports created by madExcept.

Delphi and C++Builder developers are invited to try the alpha version with their own bug reports. Bug reports can be sent to madxnet using the http protocol.

The madxnet web application offers these advantages:

  • it provides an easy to maintain, and easy to scale application running on Google App Engine – deployed to your own GAE account
  • it supports your users with automatic feedback after uploading a bug report
  • it forwards critical bug reports to your developers and issue tracker systems, based on rule-based triggers

(Go to: Events | Reports | Exceptions | Executables)

Easy to maintain: Google has a reputation for highly reliable, high performance infrastructure. With App Engine you can take advantage of the 10 years of knowledge Google has in running massively scalable, performance driven systems. App Engine will always be free to get started, and you can purchase more computing resources, paying only for what you actually use. An efficient application on a free account can use up to 500MB of storage and up to 5 million page views a month.

The madxnet example installation does not require a Google account. It is free to use and accepts http uploads without restrictions. Only for attached screenshots there is a 200 KB size limit. (This limitation will be changed when automatic scaling of incoming image data is implemented.)

Note to testers: please be aware that all uploaded bug reports are visible for everybody. In case you need to undo a bug report upload: it is possible to delete all bug reports using a simple http request. Please read the Frequently Asked Questions page  for more information.

Update: version 0.6 now introduces charts. See the Exceptions page for an example.

Read the rest of this entry »

Tags:

HornetQ 2.0.0.GA message broker is available

Posted by: Michael Justin on: January 13, 2010

Red Hat Middleware (JBoss) announced the release of HornetQ 2.0 GA. HornetQ is a Message Oriented Middleware (MoM) and takes over from JBoss Messaging as the premier JMS implementation.

Planned features for the next releases include REST support, AMQP support, STOMP support and direct Ajax/Comet/Web sockets support.

Current features include JMS 1.1 API, seamless integration into JBoss Application Server, standalone server, pluggable transport system, TCP, SSL, HTTP, Servlet and In-VM transports.

Tutorial: Delphi integration with the GlassFish v3 application server

Posted by: Michael Justin on: December 29, 2009

The new version of GlassFish is the industry’s first application server to support the new Java™ Platform Enterprise Edition 6 (Java EE 6).

GlassFish v3 includes version 4.4 of Open Message Queue, a Java Message Service (JMS) message broker, as the default JMS provider. For Delphi developers, the interesting new feature in this release of OpenMQ is that it can exchange JMS messages with non-Java clients using the Stomp message protocol.

For Delphi developers, this means that asynchronous message exchange between web applications and EJB (Enterprise JavaBeans) and integration of applications running on GlassFish v3 becomes possible.

  • with the ‘publish and subscribe’ communication model, Delphi™ applications receive the same messages from the broker which have been sent to Java client applications, implementing an enterprise-level observer pattern with JMS as shown in the Enterprise Integration Pattern catalog
  • the ‘peer to peer‘ communication model helps to implement load balancing for high-volume online system using distributed Delphi worker applications

This tutorial shows the steps to build and run web application on the Java platform with the NetBeans 6.8 IDE and GlassFish v3 which sends message to the OpenMQ Java Message Service (JMS) message broker included in GlassFish. A Delphi message consumer application created with the Habari OpenMQ Client library then can be used to receive the messages from the broker asynchronously.

Update: the second part of the tutorial will guide you through the creation of a simple EJB application for GlassFish v3 which uses a Message Driven Bean to receive messages from a message queue on the embedded OpenMQ broker. The Delphi ProducerTool application sends messages to the message queue.

About GlassFish v3

GlassFish v3 is the industry’s first application server to support the new Java Platform Enterprise Edition 6 (Java EE 6).

About Open Message Queue (OpenMQ)

Open Message Queue is an enterprise quality, production ready, scalable messaging server. It provides a complete Java Message Service (JMS) implementation for message oriented system integration. Read more: https://mq.dev.java.net/about.html

Java EE 6, GlassFish 3 and NetBeans 6.8 released

Posted by: Michael Justin on: December 10, 2009

Sun GlassFish Enterprise Server v3 is the industry’s first application server to support the new Java Platform Enterprise Edition 6 (Java EE 6). Java EE 6 introduces features to increase the flexibility of the platform and enable companies to use the new, lightweight Web Profile, in addition to the full enterprise platform, to help meet their business requirements.

GlassFish is the industry’s most downloaded Java EE compatible application server, with over 24 million downloads to date.

NetBeans IDE 6.8 is the first IDE to offer complete support for the entire Java EE 6 spec with improved support for JSF 2.0/Facelets, Java Persistence 2.0, EJB 3.1 including using EJBs in web applications, RESTful web services, and GlassFish v3.

December 10, 2009 Sun Microsystems, Inc. (NASDAQ: JAVA) today announced the availability of the Java Platform Enterprise Edition 6 (Java EE 6) and significant industry support from Java technology licensees including Caucho, IBM, Oracle and Red Hat. Java EE is the premier platform for web and enterprise application development and deployment. Java EE 6 introduces features to increase the flexibility of the platform and enable companies to use specific application scenarios, in addition to the full enterprise platform, to help meet their use case requirements. The Java EE SDK has been downloaded more than 18 million times and the specification is supported by 28 licensees that market Java EE compatible-products. Developers can download and begin deploying Java EE applications today using the Java EE SDK available at: http://java.sun.com/javaee/downloads/index.jsp

betasoft released a web application at http://hbm2pascal.appspot.com/ which can generate Object Pascal source for database objects based on Hibernate mapping documents.

How to use hbm2pascal: the web page contains a form which shows an example Hibernate mapping document, and a button to start the code generation. The example document may be edited freely. hbm2pascal will parse the table descriptions (including table relationships) and build Object Pascal source code. The generated sources then will be displayed and can be copied from the results page, or sent by email.

Hibernate mapping documents can be created manually, or extracted from metadata for existing databases using Hibernate Tools, a free toolkit available at http://www.hibernate.org/

The code templates used by hbm2pascal can be customized to generate source code specifc for O/R mappers like tiOPF, hcOPF, InstantObjects and the G Framework. Applications which use these object persistency frameworks and hbm2pascal will not require Hibernate at run time. Hibernate Tools are only required in the first step, to reverse engineer the metadata of an existing database to hbm mapping files, which then will be converted by hbm2pascal.

Read the rest of this entry »

VirtualBox 3.1.0 adds teleportation support

Posted by: Michael Justin on: November 30, 2009

Less than three weeks after the beta, Sun Microsystems has announced the release of version 3.1.0 of its open source VirtualBox desktop virtualisation application for x86 hardware.

The following major new features were added:

  • Teleportation (aka live migration); migrate a live VM session from one host to another (see the manual for more information)
  • VM states can now be restored from arbitrary snapshots instead of only the last one, and new snapshots can be taken from other snapshots as well (“branched snapshots”; see the manual for more information)
  • 2D video acceleration for Windows guests; use the host video hardware for overlay stretching and color conversion (see the manual for more information)
  • More flexible storage attachments: CD/DVD drives can be attached to an arbitrary IDE controller, and there can be more than one such drive (the manual for more information)
  • The network attachment type can be changed while a VM is running
  • Complete rewrite of experimental USB support for OpenSolaris hosts making use of the latest USB enhancements in Solaris Nevada 124 and higher
  • Significant performance improvements for PAE and AMD64 guests (VT-x and AMD-V only; normal (non-nested) paging)
  • Experimental support for EFI (Extensible Firmware Interface; see the manual for more information)
  • Support for paravirtualized network adapters (virtio-net; see the manual for more information)

More details about the release can be found in the Change Log. VirtualBox 3.1.0 is available to download for Windows, Mac OS X, Linux and Solaris. VirtualBox is released under version 2 of the GNU General Public License (GPLv2) and VirtualBox binaries are released under the VirtualBox Personal Use and Evaluation License (PUEL) licence.

Read more:

http://www.h-online.com/open/news/item/VirtualBox-3-1-0-arrives-adds-teleportation-support-872873.html

Google App Engine plugin for NetBeans 6.7

Posted by: Michael Justin on: November 26, 2009

NetBeans support for Google App Engine is available for the NetBeans IDE version 6.7 (and 6.8) on Kenai at http://kenai.com/projects/nbappengine/pages/Home

This Plugin enables J2EE development web modules on Google App Engine. You can see how to develop a Hello World application on this screencast.

What is supported?

  • Registering App Engine SDK in NetBeans as local J2EE server
  • The App Engine would be used as target server for JavaEE web projects
  • Generation of specific configuration file
  • Visual editor for appengin-web.xml
  • Debug web application on local App Engine server
  • Deployment to App Engine cloud
  • Editor hints
  • Support for JSP debugging
  • Profiler support

Read more about it in Geertjan’s blog: Developing for Google App Engine in NetBeans IDE

NetBeans services window with App Engine

Delphi client library for RabbitMQ AMQP message broker

Posted by: Michael Justin on: November 26, 2009

betasoft started the beta test of the Habari RabbitMQ Client library for Delphi and Free Pascal today.

RabbitMQ is an independent open-source implementation of AMQP. The server is written in Erlang, and multiple clients including Python, Ruby, .NET, Java, JMS, C, PHP, Actionscript, XMPP, Stomp, and AJAX are provided. RabbitMQ is distributed with Ubuntu, FreeBSD ports.

Habari RabbitMQ Client uses the Stomp message protocol and a plug-in architecture for communication libraries and message transformers for XML and JSON object serialization. It follows the specification of the JMS (Java Message Service) API for Message Oriented Middleware.

Read the full announcement here:

https://forums.embarcadero.com/thread.jspa?threadID=28862

RabbitMQ™ is a Trademark of Rabbit Technologies Ltd.

Eclipse 4 Milestone 2 released

Posted by: Michael Justin on: November 24, 2009

Major changes have been made to components including the XML Windowing Toolkit (XWT), which is used for the GUI.

More details about the second milestone of e4 can be found on the  New and Noteworthy page. Eclipse 4 Milestone 2 is available to download from the project’s web site and is released under the Eclipse Foundation Software User Agreement.

Read more: Eclipse 4 goes a mile further

 

February 2010
M T W T F S S
« Jan    
1234567
891011121314
15161718192021
22232425262728

Blog Stats

  • 10,889 hits