Weekly links 2010-50

Smart Electronic Sportswear Being Developed by MC10 and Reebok

Stretchable silicon electronics that offer the computing power of rigid chips could make their way into Reebok’s athletic apparel shortly. The company and MC10, a start up maker of flexible electronics, are working together to develop sportswear that incorporates electronics to monitor athletes’ health and performance during training and rehabilitation.

The Play framework

Finally a Java framework made by Web developers. Discover a clean alternative to bloated enterprise Java stacks. Play focuses on developer productivity and targets RESTful architectures.

J2EE Is Dead – Completely Dead

…So J2EE is dead, but Java EE 6 rocks.

Things Every Programmer Should Know

The collection is intended simply to contain multiple and varied perspectives on what it is that contributors to the project feel programmers should know. This can be anything from code-focused advice to culture, from algorithm usage to agile thinking, from implementation know-how to professionalism, from style to substance, etc.

INS2: Australia develops first smartchip for pain

The Implantable Neuro Sensing and Stimulation (INS2) device is considered the first miniature smartchip for treating chronic pain. Its very small size, along with other key features, allows the smartchip to manage pain better in humans.

Why the new JavaFX makes sense

Myriad Sues Sun, Now Oracle, over Java

Apache leaves the JCP, what’s next?

J2EE Filters and websphere application server 6.1

By default websphere application server (WAS) 6.1 (maybe 6.x) has the J2EE filters disabled.

Don’t know why. Don’t ask it to me. I only know that the custom rewrite/redirect I made in my J2EE filter didn’t work until I told middleware office to set a websphere custom property.

The property to set is com.ibm.ws.webcontainer.invokefilterscompatibility and has to be set to true. You can find where to set it under the websphere administration console following this path Application Servers -> <server> -> Web Container Settings -> Web Container -> Custom Properties.

Easy once you know what to do. 🙂

JBoss, eclipse and port bindings

please close the door

via Flickr by Aeioux

Starting JBoss (5.1.x) from eclipse (3.5.x) it could happen that you get an exception like the following:

15:26:51,530 ERROR [Naming] Could not start on port 1099
java.net.BindException: Address already in use: JVM_Bind
 at java.net.PlainSocketImpl.socketBind(Native Method)
 at java.net.PlainSocketImpl.bind(Unknown Source)
 at java.net.ServerSocket.bind(Unknown Source)
 at java.net.ServerSocket.<init>(Unknown Source)
 at javax.net.DefaultServerSocketFactory.createServerSocket(Unknown Source)
 at org.jnp.server.Main.initBootstrapListener(Main.java:480)
 at org.jnp.server.Main.start(Main.java:427)
 ...

It’s because you have a port already in use. In this case it the port used for Naming service. While changing port from the eclipse editor didn’t work, you can (after stopping the server), open the file

$JBOSS_HOME/server/$PROFILE/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml

search for the desired port (in this case 1099) and then change it to a new value (in my case 1199 was free).

<!-- Naming Service -->
 <bean>
 <property name="serviceName">jboss:service=Naming</property>
 <property name="bindingName">Port</property>
 <property name="port">1199</property>
 <property name="description">The listening socket for the Naming service</property>
 </bean>

save and start the server.