Home > Articles > Programming > Java

  • Print
  • + Share This
This chapter is from the book

Troubleshooting

Deployment Problems

Q: Why won't the deployment tool generate my EAR or JAR file?

A: You probably forgot to implement a method in your implementation class. It's also possible that you might have violated one of the other EJB restrictions or requirements. Most deployment tools have an option to test your items for compliance. For instance, in the J2EE SDK, the option is called Verifier; in the WebLogic deployment tool, it's called Check Compliance. Also, check for windows that might contain error messages. Some tools don't always pop up a nice window telling you what's wrong. You can also check the various log files that are in the logs subdirectory of the J2EE SDK.

Q: Why doesn't the tool generate a client JAR file?

A: You probably don't need anything special other than your Remote and Home interface classes, so there's no need for the tool to create the JAR for you. Most of the time, the client JAR file is necessary because the deployment tool generates a number of utility classes needed for client development.

Runtime Problems

Q: Why can't my client program locate the JNDI naming service?

A: First, make sure your EJB server is running. Next, you might need to define the initial naming context factory class on the command line. Check the documentation for your EJB server to see if you need additional command-line options. Also, make sure your bean is deployed. If you deployed the bean with a deployment tool and you have restarted the server since then, the server might have forgotten about the bean. Try deploying it again. Also, check to make sure the name your client program is asking for is actually the JNDI name you configured for the bean. The names must match exactly, including any capitalization.

Q: Why do I get an error accessing the data source?

A: You probably didn't set up the data source correctly for your EJB server. Also, you might not have set up the association properly to go from the logical name your EJB uses to the actual data source name in the JNDI directory.

  • + Share This
  • 🔖 Save To Your Account