Monday, December 31, 2007

Happy New Year 2008

Wish You All Peace, Love, Health, Happiness and Success in 2008.
May in this new year, all your dreams turn into reality and all your efforts into great achievements.

Saturday, December 29, 2007

Top 5 Books for Enterprise Java Development in 2007

With just a day left in 2007, lets recap some of our favorite books this year. Having been the Editor for the Javalobby Book Review Team for the past 14 months, I have read and reviewed several technical books. People whom I meet often ask me what books are coming up and to name a few good books.

It was very hard for me to pick the top 5 from the vast majority of excellent books sitting in my shelf, and the ebooks on my laptop which I read.

I had to limit myself to 5. So, listed below are the top 5 books for Enterprise Java Development. Some of these books might not have received 5 stars on the rating scale, but they did make me more proficient in some aspects of software development.

1. Test Driven: Practical TDD and Acceptance TDD for Java Developers
2. Continuous Integration: Improving Software Quality and Reducing Risk
3. Ant in Action, Second Edition of Java Development with Ant
4. Java Persistence With Hibernate
5. Use Case Driven Object Modeling with UML: Theory and Practice

What books did you read in 2007?
Do you have a list to share?

Friday, December 28, 2007

What version of Java do you expect to use in 2008?

We upgraded to Java 6 almost 9 months back at my workplace. We faced no major problems working with projects which were using Spring. But, as soon as I started working on an EJB 3 project, I realized most application servers aren't even ready for Java 6 yet.

I do have multiple copies of Java installed, but testing with all these versions 1.4, 5 and 6 is a nightmare.

Now, its too late for us to switch back to Java 5. And, with Java 7 coming soon, it's surprising that some application server vendors don't yet support Java 6.

What version of Java are you using at work?
Are you facing any problems at all?

Saturday, December 22, 2007

Coming Soon : Wicket in Action By Manning

I came to know about this web framework from one of the comments to my post about J2EE vs .NET by Frank Silbermann. I had never heard about it before. I wasn't very much interested in looking at it either until today. I didn't want to spend anytime on yet another web framework. Do we have any less now, that we needed another one?

As always, I goggled it and found tons of information on Apache's web site. I did like their introduction page where they do list 58 ( believe me I actually counted) web frameworks.

The next thing I did was to find out if Manning or Apress has any upcoming books on this web framework. And, we have "Wicket in Action" coming soon. Hurray.

You can start Reading Wicket in Action today through the Manning Early Access Program(MEAP). Most in Action books of Manning we have done for Javalobby have 5 star ratings in all the categories. So, it will be an interesting book to wait for in 2008.

You can also take a look at Manning's web site to get additional details about this book.
Apress on the other hand, already had a book published in September 2006, called "Pro Wicket". You can get detailed information about this book at Apress web site.
Have you used Wicket?
If yes, would you like to share any tips or tricks?
Have you read Pro Wicket book?

Friday, December 21, 2007

EJB 3.0 and 4 different Application Servers - Good, bad or ugly.

I have been writing EJB 3.0 application from the past 3 months. I am not yet sure what application server we are going to use. I was initially testing with JBoss, but as you might have seen in my previous posts on this blog, I can't get JBoss to work with Java 6 as well as web services.

Just to remind you I had no deployment descriptor for any of these servers. That's one of the big things for EJB 3.0, right? EJB 3.0 specification states that the deployment descriptor is not necessary.

You just have to add annotations, and that's what I did. If you can't deploy one simple application to various servers, does it make any sense to say EJB 3.0 applications are portable. They should be as per the EJB 3.0 spec.

The next course I took was to write a simple, really simple Stateless Session Bean. Just one method in it, publish it as a web service and try to deploy the same on the following Application Servers. I have used and administered JBoss, WebLogic,and WebSphere. But, in this case I used some different ones. It's up to you to decide which ones are good, bad, and ugly.

1. JBoss
2. GlassFish V2
3. Oracle Application Server
4. WebLogic 10.

Here is my remote interface for the stateless session bean:

package ejb3.ws.biz;
import javax.ejb.Remote;

@Remote
public interface HelloManager
{
public String sayHello(String serverName);

}


And here is my simple session bean class:

package ejb3.ws.biz;

import javax.ejb.Stateless;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;


@WebService(name="HelloManager", targetNamespace = "urn:HelloManagerService")
@SOAPBinding(style = SOAPBinding.Style.RPC)
@Stateless(name="HelloManager")
public class HelloManagerBean implements HelloManager
{

@WebMethod
public String sayHello(String serverName)
{
return "I am saying hello from " + serverName;
}
}

Compiled the classes, jarred them up, and tried deploying to each one of the above mentioned application servers.

1. GlassFish V2: This was the first time I was using GlassFish. I used the Admin Console, deployed the file, used the page to test the web services. Surprise surprise, it works. Hurray.

2. Oracle Application Server: Again, this was the first time I was using Oracle AS. I used the Admin Console, deployed the file. And this time, I tested with SoapUI, and web services worked like a charm.

3. JBoss 4.2.1: The same application which deployed and worked on the above 2 app servers, did deploy fine in this case. No exceptions at all. But when I used SoapUI to test my one and only one web service, it failed miserably. Here comes the stack trace:

2007-12-20 12:44:04,779 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/HelloManagerBeanService].[HelloManager]] Servlet.service() for servlet HelloManager threw exception java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage at javax.xml.soap.SOAPMessage.setProperty(SOAPMessage.java:424) at org.jboss.ws.core.soap.SOAPMessageImpl.(SOAPMessageImpl.java:67) at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:155) at org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS.toSOAPMessage(SOAPFaultHelperJAXWS.java:235) at org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS.exceptionToFaultMessage(SOAPFaultHelperJAXWS.java:164) at org.jboss.ws.core.jaxws.binding.SOAP11BindingJAXWS.createFaultMessageFromException(SOAP11BindingJAXWS.java:104) at org.jboss.ws.core.CommonSOAPBinding.bindFaultMessage(CommonSOAPBinding.java:623) at org.jboss.ws.core.server.ServiceEndpoint.processRequest(ServiceEndpoint.java:229) at org.jboss.ws.core.server.ServiceEndpointManager.processRequest(ServiceEndpointManager.java:448) at org.jboss.ws.core.server.AbstractServiceEndpointServlet.doPost(AbstractServiceEndpointServlet.java:114) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at org.jboss.ws.core.server.AbstractServiceEndpointServlet.service(AbstractServiceEndpointServlet.java:75) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) at org.apache.catalina.core.SandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619)


4. WebLogic 10. I have been using WebLogic server from version 8 onwards. So, I was very confident it would work. Here again, I used the Admin Console to deploy the application, but nope. It didn't want to deploy at any cost. I didn't even bother to goggle and find out why it was throwing an exception. It says error occurred while reading the deployment descriptor, why? I don't have one, I have just annotations.

Is it mandatory to have a
deployment descriptor in WebLogic for EJB 3.0 applications? The EJB 3.0 specification states that the deployment descriptor is not necessary. I don't know, and I won't even bother to find out.

Here comes the stack trace:

[EJB:011023]An error occurred while reading the deployment descriptor. The error was: : java.lang.ClassNotFoundException: Class bytes found but defineClass()failed for: 'ejb3.ws.biz.HelloManagerBean'.' weblogic.application.ModuleException: Exception preparing module: EJBModule(ejb3businesstier.jar) [EJB:011023]An error occurred while reading the deployment descriptor. The error was: : java.lang.ClassNotFoundException: Class bytes found but defineClass()failed for: 'ejb3.ws.biz.HelloManagerBean'. at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:399) at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93) at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:360) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:56) at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:46) at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191) at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147) at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:189) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:87) at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217) at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:719) at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1186) at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:248) at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:157) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200) at weblogic.work.ExecuteThread.run(ExecuteThread.java:172) java.io.IOException: : java.lang.ClassNotFoundException: Class bytes found but defineClass()failed for: 'ejb3.ws.biz.HelloManagerBean' at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.processStandardAnnotations(EjbDescriptorReaderImpl.java:324) at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:186) at weblogic.ejb.spi.EjbDescriptorFactory.createReadOnlyDescriptorFromJarFile(EjbDescriptorFactory.java:93) at weblogic.ejb.container.deployer.EJBModule.loadEJBDescriptor(EJBModule.java:965) at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:335) at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93) at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:360) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:56) at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:46) at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191) at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147) at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:189) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:87) at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217) at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:719) at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1186) at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:248) at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:157) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200) at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)

Wednesday, December 19, 2007

What's your New Year's Resolution : Work Related?

We all make resolutions as soon as the new year is approaching. Most common are losing weight, hit the gym, spend more time with family and so on and so forth.

This year I decided to make 3 resolutions for the coming year 2008 which are work related.
1. Not to use any software after the evaluation period is over
2. Learn something new
3. Give something back to the this wonderful community

I am guilty of just one software which I have been using. The intermittent dialog is the only way I know I haven't purchased the license. I know I am wrong. If developers keep using software without purchasing them, than we will all be out of job in days, right?

Anyway, I will buy the license or install some other open source tool which can replace this one. I did that with one program, the dialog was so annoying, and one of my colleagues suggested IZarc, and it is awesome.

So, what's your resolution for 2008?
Have you made one at all?

Monday, December 17, 2007

Are you still using EJB 2.1? Why?

Well, we all know and have read in many articles and several books that EJB 3.0 specification simplifies EJB development. It is much easier to learn, use and most importantly to test EJB 3.0 applications. There is no doubt at all about any of these claims.

I have been working on EJB 3.0 project from the past 3 months, and have indeed noticed major benefits of using this new version.

Having said that, I still see many companies using or planning to use the older version of EJB's. Some of the reasons they give are as follows:

1. We are still using JDK 1.4.2
2. We use an old version of the Application Server which doesn't support EJB 3.0 yet.
3. We don't have any statistics on the performance of EJB 3.0 projects.
4. We don't have resources or the budget to convert to a new version of JDK or EJB spec.

I am at loss to convince some of these developers(friends of mine) that this is the time to switch to Java 5 or even the latest Java 6 and EJB 3.0. But have failed to do so.

Raghu Kodali the author of the book "Beginning EJB™ 3 Application Development: From Novice to Professional" has written a blog entry called Does EJB 3.0 really make application development easy? In this article he shows the migration of the RosterApp application from EJB 2.1 to EJB 3.0. His book also has an entire chapter dedicated to migration "CHAPTER 10: Migrating EJB 2.x Applications to EJB 3".

How will you convince your manager if you are asked to implement a new project today using EJB 2.1 spec?
Have you faced such a situation at all?
Do you know any company which is using EJB 3.0?(include mine)
Are you using EJB 3.0 in your company?

Sunday, December 16, 2007

J2EE Vs .NET : Are major development shops moving to .NET?

OK, I am not starting yet another war between .NET vs J2EE. I need your input.

I was introduced to CTO of a major company last week. He was inquiring about what I do. I told him I am a Software Engineer, and do a lot of development on Java/J2EE. Next thing I hear from him is "Meera, all the major development shops I know, and also my company are moving to .NET. You should also do so soon.".

I told him I wasn't aware of any such drastic changes in my company, nor had seen any such changes in the communities I visit. He kept arguing the same. As far as I am concerned I can never argue.

The reason he gave were as follows:

1. Java/J2EE developers are very expensive.
2. Hard to find the right person.
3. Development using Java/J2EE isn't trivial.
4. .NET on the other hand is very simple.

I did a lot of research on Sunday. Wasted almost an entire day trying to see if I can find anything at all to convince him. Nope, all the data and statistics I found were way old( almost from 2002).

I strongly believe that if your development shop is already committed to Java & J2EE, continue using that. On the other hand, if you are already using Microsoft technologies, than continue using that.

The next thing I had in my mind was to blog this and see what you all had to say.

Is your development shop switching to .NET? Have you heard from your friends that they are switching to .NET? I need your input. Please leave your comments and any references you have.

Java 6, JBoss, Web Services : Fatal combination

As I mentioned in my previous post, JBoss 5 doesn't even start on Java 6. I have been having problems testing my EJB 3.0 web services which are deployed on JBoss. Not just this version, even the earlier versions which support EJB 3.0. The server log file does display the link for the WSDL for all the Session Beans published as web services.

I reverted to JBoss 4.2.1, but to no success. Every single web service I had earlier, worked on all these versions of JBoss, but once I changed my JDK it was a nightmare. None of them work if you are using Java 6. I have tried invoking these web services using SoapUI and VS.NET. No Success.

Just to make sure that these aren't just problems on my side, I tried deploying some web services using NetBeans 6.0 and deployed on JBoss. Same story.

I haven't yet tested my web services on other application servers. That's on my TODO list this week.

So long story short, if you have to use JBoss don't even bother installing Java 6.

Are you using having these problems? Did you find a workaround?

Here is a stack trace of the error on the JBoss Console.

java.lang.UnsupportedOperationException: setProperty 
must be overridden by all subclasses of SOAPMessage
at javax.xml.soap.SOAPMessage.setProperty(SOAPMessage.java:424)
at org.jboss.ws.soap.SOAPMessageImpl.(SOAPMessageImpl.java:65)
at org.jboss.ws.soap.MessageFactoryImpl.createMessage

(MessageFactoryImpl.java:115)
at org.jboss.ws.binding.soap.SOAP11BindingProvider.createMessage
(SOAP11BindingProvider.java:59)
at org.jboss.ws.binding.soap.SOAPBindingProvider.bindRequestMessage
(SOAPBindingProvider.java:89)
at org.jboss.ws.binding.soap.SOAP11BindingProvider.bindRequestMessage
(SOAP11BindingProvider.java:65)
at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:645)
at org.jboss.ws.jaxrpc.CallImpl.invoke(CallImpl.java:404)
at org.jboss.ws.jaxrpc.CallProxy.invoke(CallProxy.java:148)

P.S:
I do have received an update on my previous post that
JBoss 5 beta 3 is going to be available this week.

Saturday, December 15, 2007

JBoss 5 Beta 2 : won't even start with Java 6

We have been using Java 6 from May of 2007. Last week, I downloaded JBoss Beta 2 and it doesn't even want to start. Huh. I know it's still in Beta version.

Searched on Google and found the following entry in JBoss bug entry in their forums.

The solution they have is use JDK5. I can't switch back to JDK 5 wasting my 6 month effort working on Java 6. So switching back to Java 5 isn't my option.

Is JBoss going to fix this bug in their final release of JBoss 5? Any ideas?

Are you facing this problem? Did you find a workaround?

Here is the stack trace:

===============================================================================

JBoss Bootstrap Environment

JBOSS_HOME: C:\jboss-5.0.0

JAVA: C:\Java\jdk1.6.0\bin\java

JAVA_OPTS: -Dprogram.name=run.bat -server -Xms128m -Xmx512m -XX:MaxPermSize=2
56m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600
000

CLASSPATH: C:\Java\jdk1.6.0\lib\tools.jar;C:\jboss-5.0.0\bin\run.jar

===============================================================================

15:09:10,733 INFO [ServerImpl] Starting JBoss (Microcontainer)...
15:09:10,748 INFO [ServerImpl] Release ID: JBoss [Morpheus] 5.0.0.Beta2 (build:
SVNTag=JBoss_5_0_0_Beta2 date=200704060017)
15:09:10,748 INFO [ServerImpl] Home Dir: C:\jboss-5.0.0
15:09:10,748 INFO [ServerImpl] Home URL: file:/C:/jboss-5.0.0/
15:09:10,748 INFO [ServerImpl] Library URL: file:/C:/jboss-5.0.0/lib/
15:09:10,764 INFO [ServerImpl] Patch URL: null
15:09:10,779 INFO [ServerImpl] Server Name: default
15:09:10,779 INFO [ServerImpl] Server Home Dir: C:\jboss-5.0.0\server\default
15:09:10,779 INFO [ServerImpl] Server Home URL: file:/C:/jboss-5.0.0/server/def
ault/
15:09:10,779 INFO [ServerImpl] Server Data Dir: C:\jboss-5.0.0\server\default\d
ata
15:09:10,779 INFO [ServerImpl] Server Temp Dir: C:\jboss-5.0.0\server\default\t
mp
15:09:10,779 INFO [ServerImpl] Server Config URL: file:/C:/jboss-5.0.0/server/d
efault/conf/
15:09:10,779 INFO [ServerImpl] Server Library URL: file:/C:/jboss-5.0.0/server/
default/lib/
15:09:10,779 INFO [ServerImpl] Root Deployment Filename: jboss-service.xml
15:09:11,029 INFO [ServerImpl] Starting Microcontainer, bootstrapURL=file:/C:/j
boss-5.0.0/server/default/conf/bootstrap-beans.xml
15:09:16,623 INFO [ProfileImpl] Using profile root:C:\jboss-5.0.0\server\defaul
t
15:09:19,186 ERROR [AbstractKernelController] Error installing to Instantiated:
name=DeploymentFilter state=Described
java.lang.IllegalStateException: Class not found: [Ljava.lang.String;
at org.jboss.metadata.spi.signature.Signature.stringsToClasses(Signature
.java:174)
at org.jboss.metadata.spi.signature.Signature.stringsToClasses(Signature
.java:125)
at org.jboss.metadata.spi.signature.Signature.getParametersTypes(Signatu
re.java:292)
at org.jboss.metadata.plugins.loader.reflection.AnnotatedElementMetaData
Loader.getComponentMetaDataRetrieval(AnnotatedElementMetaDataLoader.java:138)
at org.jboss.metadata.plugins.context.AbstractMetaDataContext.getCompone
ntMetaDataRetrieval(AbstractMetaDataContext.java:280)
at org.jboss.metadata.spi.retrieval.MetaDataRetrievalToMetaDataBridge.ge
tComponentMetaData(MetaDataRetrievalToMetaDataBridge.java:159)
at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.meth
odHasAnnotations(AOPConstructorJoinpoint.java:202)
at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.hasM
ethodMetaData(AOPConstructorJoinpoint.java:172)
at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.hasI
nstanceOrJoinpointMetaData(AOPConstructorJoinpoint.java:152)
at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.disp
atch(AOPConstructorJoinpoint.java:99)
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dis
patchJoinPoint(KernelControllerContextAction.java:103)
at org.jboss.kernel.plugins.dependency.InstantiateAction.installActionIn
ternal(InstantiateAction.java:52)
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.ins
tallAction(KernelControllerContextAction.java:197)
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.ins
tall(KernelControllerContextAction.java:136)
at org.jboss.dependency.plugins.AbstractControllerContextActions.install
(AbstractControllerContextActions.java:51)
at org.jboss.dependency.plugins.AbstractControllerContext.install(Abstra
ctControllerContext.java:233)
at org.jboss.dependency.plugins.AbstractController.install(AbstractContr
oller.java:724)
at org.jboss.dependency.plugins.AbstractController.incrementState(Abstra
ctController.java:445)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(Abstr
actController.java:555)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(Abstr
actController.java:489)
at org.jboss.dependency.plugins.AbstractController.install(AbstractContr
oller.java:289)
at org.jboss.dependency.plugins.AbstractController.install(AbstractContr
oller.java:192)
at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBean
(AbstractKernelDeployer.java:302)
at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBean
s(AbstractKernelDeployer.java:272)
at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deploy(Abs
tractKernelDeployer.java:119)
at org.jboss.kernel.plugins.deployment.BasicKernelDeployer.deploy(BasicK
ernelDeployer.java:64)
at org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer.deploy(Basic
XMLDeployer.java:76)
at org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer.deploy(Basic
XMLDeployer.java:146)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.deploy
(ProfileServiceBootstrap.java:295)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.bootst
rap(ProfileServiceBootstrap.java:222)
at org.jboss.kernel.plugins.bootstrap.AbstractBootstrap.run(AbstractBoot
strap.java:89)
at org.jboss.system.server.profileservice.ServerImpl.doStart(ServerImpl.
java:403)
at org.jboss.system.server.profileservice.ServerImpl.start(ServerImpl.ja
va:342)
at org.jboss.Main.boot(Main.java:210)
at org.jboss.Main$1.run(Main.java:522)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: [Ljava.lang.String;
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at org.jboss.metadata.spi.signature.Signature.stringsToClasses(Signature
.java:170)
... 35 more
15:09:20,420 INFO [ServerInfo] Java version: 1.6.0,Sun Microsystems Inc.
15:09:20,420 INFO [ServerInfo] Java VM: Java HotSpot(TM) Server VM 1.6.0-b105,S
un Microsystems Inc.
15:09:20,420 INFO [ServerInfo] OS-System: Windows XP 5.1,x86
15:09:20,639 INFO [JMXKernel] Legacy JMX core initialized
Failed to boot JBoss:
java.lang.RuntimeException: Exception during Bootstrap
at org.jboss.kernel.plugins.bootstrap.AbstractBootstrap.run(AbstractBoot
strap.java:99)
at org.jboss.system.server.profileservice.ServerImpl.doStart(ServerImpl.
java:403)
at org.jboss.system.server.profileservice.ServerImpl.start(ServerImpl.ja
va:342)
at org.jboss.Main.boot(Main.java:210)
at org.jboss.Main$1.run(Main.java:522)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.jboss.deployers.spi.IncompleteDeploymentException: Summary of inc
omplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

*** CONTEXTS MISSING DEPENDENCIES: Name -> Dependency{Required State:Actual Stat
e}

VFSBootstrapScanner
-> DeploymentFilter{Configured:**ERROR**}

VFSDeployerScanner
-> DeploymentFilter{Configured:**ERROR**}

VFSDeploymentScanner
-> DeploymentFilter{Configured:**ERROR**}


*** CONTEXTS IN ERROR: Name -> Error

DeploymentFilter -> java.lang.ClassNotFoundException: [Ljava.lang.String;


at org.jboss.system.server.profileservice.ProfileServiceBootstrap.checkI
ncomplete(ProfileServiceBootstrap.java:389)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.bootst
rap(ProfileServiceBootstrap.java:236)
at org.jboss.kernel.plugins.bootstrap.AbstractBootstrap.run(AbstractBoot
strap.java:89)
... 5 more

Interview with Authors of upcoming Java books

I have been writing articles on upcoming Java books on Javalobby.

On December 20th 2007, I interviewed Dave Minter the author of the book" Beginning Spring 2".

Interview: Dave Minter author of Beginning Spring 2

December 17th 2007, I had the opportunity to talk to the authors of "SOA Security" book.

Interview: SOA Security authors Ramarao Kannengati and Prasad Chodavarapu

On October 30th 2007, I interviewed the authors of the upcoming book "JBoss In Action"

An Interview with JBoss in Action authors Javid Jamae and Peter Johnson

Here is a link for the interview with Jeff Friesen, author of the book "Beginning Java SE 6 Platform: From Novice to Professional ".

Coming Soon - Beginning Java SE 6 Platform: From Novice to Professional

On October 10th 2007, I did an article on an upcoming book on NetBeans 6.0. Here is the link:

Apress Publishes New NetBeans 6 Book by Adam Myatt

On October 3rd 2007, it was a book from Manning Publishers.

Manning releases a must have book: Test Driven

Published Reviews on Javalobby/DZone

Here are all the earlier reviews I did for Javalobby.

18. Filthy Rich Clients

17.Ant in Action book Review.

16. Continuous Integration: Improving Software Quality

15. Pro NetBeans IDE 5.5 Enterprise Edition

14. No Fluff Just Stuff Anthology

13. Wicked Cool Java

12. Java/J2EE Job Interview Companion

11. Checking Java Programs

10. EJB 3 in Action

9. Use Case Driven Object Modeling with UML-Theory and Practice

8. Java Phrasebook

7. Enterprise JavaBeans 3.0, Fifth Edition

6. Java Persistence with Hibernate

5. Beginning EJB™ 3 Application Development: From Novice to Professional

4. PMD Applied

Reviews published in 2006.

3. Hibernate in Action

2. Thinking In Java, 4th Edition

1. Ajax in Action