Recent Entries
19. Jan 2010
CDI Interview at DZone
09. Oct 2009
Selenium trojan false positive
18. Sep 2009
Seam and Flex
30. Jul 2009
Seam 2.2.0.GA is out
08. Jun 2009
Seam 2.1.2
19. May 2009
Seam 2.1.2.CR2
15. Apr 2009
Seam 2.1.2.CR1
22. Dec 2008
Seam 2.1.1.GA is out
09. Dec 2008
OpenID and Seam
08. Dec 2008
Seam 2.1.1.CR2
21. Nov 2008
Seam 2.1.1 CR1
30. Oct 2008
Seam 2.1.0.SP1
01. Oct 2008
Seam 2.1.0.CR1 is out
13. Jun 2008
Seam 2.0.3.CR1
06. May 2008
Seam 2.0.2.CR2
20. Jan 2010, 05:44 CET, by Norman Richards

DZone did a short interview with me to go along with the recently released CDI Refcard. It's a bit on the short side, but it's a good concise overview of CDI for developers who might not get what it's all about yet. Enjoy!

10. Oct 2009, 00:16 CET, by Norman Richards

It seams that some users of Selenium, a framework Seam uses for testing, have reported anti-virus software detecting a possible trojan in the Selenium JARs. This specific issue is with the hudsuckr.exe windows executable, and has been confirmed to be a false positive.

If your AV software has started complaining about this file in the selenium JARs used with Seam, please contact the AV software provider for updated definition files. If you need more information about the issue, please see the selenium forums.

18. Sep 2009, 09:33 CET, by Norman Richards

If the forums are any indication, there's quite a bit of interest in the Seam community for adding Flex interfaces to Seam applications. Members of the seam community have stepped forward and put together some interesting examples of Seam and Flex working together, and that's been good enough for our more ambitious users. But now it's time to make that integration a bit more formal. So with that, we've added the first round of Flex support to Seam.

We're starting with a simple solution for Flex remoting to Seam applications using BlazeDS. Getting going with Seam involves adding jboss-seam-flex.jar to your application, along with the BlazeDS libraries. The BlazeDS MessageBroker, which responds to requests from the Flex client, is instantiated and managed my the Seam Flex filter:

<flex:flex-filter url-pattern="/messagebroker/*" />

With that, your Flex application can talk to your Seam application. Obviously it wouldn't be wise to expose all your Seam components for remote access automatically. Individual components can be enabled for Flex remoting with a single annotation:

public class Foo
   public void ping() {

This annotation causes Seam to add a named remoting destination on the default channel, which can immediately be accessed as a \<mx:RemoteObject> in a Flex application. The minimal mxml on the client side would be:

<mx:RemoteObject id="remoteFoo" destination="foo" />

This declares a remote objection. The destination name should match the destination name on the @FlexRemote annotation.

<mx:Button id="button" label="Click Me!" click="" />

This creates a button, that when pressed calls the remote method. Dealing with results and errors requires a little more code than this, but it works the same as any other Flex remote object.

One of the nice things about Flex remoting is how simple it is to pass complex data structures around. For example, suppose you are writing a Flex client to work with the hotel data in the Seam booking application. If your Seam components had the following:

public List<Hotel> queryAllHotels() {
   return entityManager.createQuery("select h from Hotel h").getResultList();

Then the entire data set could be loaded into the table quite easily.

<mx:RemoteObject id="remoteFoo" destination="foo" fault="fault(event)">
    <mx:method name="queryHotels"
               result="hotelTable.dataProvider=ResultEvent(event).result" />

<mx:DataGrid id="hotelTable" />
<mx:Button label="Query Hotels" click="remoteFoo.queryHotels()" />

Note here that the remoting is smart enough to figure out the column names and values to display based on the Java objects returned, with no extra coding. It may not be production ready, but it makes for a great demo.

So, if you want to use Flex and Seam together, how can you give this a try? The Flex module is under development in the Seam22 branch. At this point we only support the basic remoting shown here and don't support conversation or business process scoped components, since the correct mapping of conversations to a rich client is not entirely obvious. If you can live with that, or if you'd like to help contribute to the future development of the Flex module, please jump in on the forums and provide some feedback.

30. Jul 2009, 23:29 CET, by Norman Richards

The waiting is over. Seam 2.2 is now officially ready!

Seam 2.2.0.GA is largely a API bump, giving us a chance to upgrade Seam to the latest versions of a few libraries that are core to Seam. The largest is a bump to the entire Hibernate family of APIs - core 3.3.1, tools 3.2.4, entitymanager 3.4.0, annotations 3.4.0 and search 3.1.1. We've also moved our Drools support from Drools 4 to Drools 5. If the great new features of Drools 5 weren't enough, we've added a few new features to the drools integration: decision table support, Seam components as consequence exception handlers and Seam components as Drools event listeners.

If you are a JBoss AS user of Seam, we recommend you use JBoss AS 5.1 to make use of the new libraries. Running a Seam 2.2 on JBoss 4.2 may require adding these newer JARs to your application.

We are seeing some problems with hot-redeployment of Seam on JBoss AS 5.1. Take a look at this FAQ for more. We will update the FAQ and this blog once we have the issues fixed.

We've also put in some serious work towards making Seam work better for applications that deploy over multiple WAR files. If that's something you've been having issues with, we definitely recommend that you give Seam 2.2 a try.

As always, please ask questions in the forums and open issues in JIRA for confirmed bugs.

[Download] [Documentation] [Release Notes]

09. Jun 2009, 01:05 CET, by Norman Richards

Thanks to the hard work of the entire Seam community, Seam 2.1.2 is now out and ready to go. Although 2.1.2 is largely about bug fixing, we do have a few new features for you guys. .

[Download] [Reference Documentation] [JIRA] [Release Notes] [Migration Guide]

Showing 1 to 5 of 22 blog entries
1 comment:
10. Dec 2014, 09:22 CET | Link
Kailey | polo(AT)