Welcome!

IBM Cloud Authors: Elizabeth White, Yeshim Deniz, Pat Romanski, Liz McMillan, Stefan Bernbo

Related Topics: IBM Cloud, Microservices Expo

IBM Cloud: Article

Developing Java and Web Services Applications on Rational Application Developer V6

How to Use Rational Application Developer 6

Free form: You can also use WRD to reduce the complexity of application construction. In this scenario, instead of providing a fully-constructed J2EE application, you place in a directory the individual parts of the application, such as Java Source files that represent Servlets or EJBs, static resources, XML files, and so on. You then configure WRD to construct a J2EE compliant application and deploy that application on a target server. Free form is ideal for initial prototyping of applications or development of library code. However, use caution when using free form development for enterprise applications. Developers can quickly lose control of their build and deployment process. Here is an example of using free form:

  • Configure the WRD workspace:
  1. export WORKSPACE=D:/WRDWorkSpace
  2. $WAS_HOME/bin//wrd-config -project "MyProject" -style "freeform" -runtime "was60" -runtimePath "D:/WebSphere_60/AppServer" -monitor
  • Start the WRD daemon: $WAS_HOME/bin/wrd -monitor
  • Create a Java Servlet or EJB class in the directory using any editor.
For more information on WRD, see the WebSphere V6 Information Center.

Here is an example of the code. These were the only artifacts developed.

HelloServlet.java


package com.wrdtest;

import java.io.*;

import javax.naming.InitialContext;

import javax.servlet.http.*;
import javax.servlet.*;

public class HelloServlet extends HttpServlet {

public void doGet (HttpServletRequest req,
HttpServletResponse res) throws ServletException, IOException {

PrintWriter out = res.getWriter();
try {
InitialContext ctx = new InitialContext();
HelloHome helloHome = (HelloHome)ctx.lookup("ejb/Hello");
HelloRemote hello = helloHome.create();
out.println("Hello, world!");
out.println(hello.getMessage());
out.close();

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace(out);
out.close();
}

}
MyService.java

package com.wrdtest;

/**
* @author Admin
*
*@ejb.session name="Hello" type="Stateless"
*jndi-name="ejb/Hello"
*local-jndi-name="ejb/Hello"
*/
public class MyService {

/**
*
* @param symbol
* @return
* @throws StockException
*
* @ejb.interface-method view-type="both"
* @ejb.transaction type="Required"
*
*
*
*/
public String getMessage()
{
return "Hello EJB";
}

}
Question: I am working with RAD and WebSphere 6.0. I want to deploy an EAR file with log4j, but an error appears during deployment. What is wrong? The log4j.xml is in the ear file.

[7/25/05 17:39:54:269 CEST] 00000062 ResourceMgrIm I
WSVR0049I: Binding ENT13000 as jdbc/ENT13000
[7/25/05 17:39:54:284 CEST] 00000062 EJBContainerI I
WSVR0207I: Preparing to start EJB jar: TDSLRechercheEJB.jar
[7/25/05 17:39:54:312 CEST] 00000062 EJBContainerI I
WSVR0037I: Starting EJB jar: TDSLRechercheEJB.jar
[7/25/05 17:39:54:904 CEST] 00000062 MDBListenerIm I
WMSG0058I: Listener Port ListenerPortNI will attempt to restart in 60 seconds
[7/25/05 17:39:54:937 CEST] 00000062 ApplicationMg E
WSVR0101W: An error occurred starting, TDSLRechercheJ2EE
[7/25/05 17:39:54:945 CEST] 00000062 ApplicationMg A
WSVR0217I: Stopping application: TDSLRechercheJ2EE
[7/25/05 17:39:54:988 CEST] 00000062 EJBContainerI I
WSVR0041I: Stopping EJB jar: TDSLRechercheEJB.jar
[7/25/05 17:39:55:034 CEST] 00000062 ApplicationMg A
WSVR0220I: Application stopped: TDSLRechercheJ2EE
[7/25/05 17:39:54:770 CEST] 00000062 SystemErr
R log4j:ERROR Could not open [./log4j.xml].
[7/25/05 17:39:54:773 CEST] 00000062 SystemErr
R java.io.FileNotFoundException: ./log4j.xml (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at org.apache.log4j.xml.DOMConfigurator.doConfigure
(DOMConfigurator.java:583)
at org.apache.log4j.xml.DOMConfigurator.configure
(DOMConfigurator.java:687)
at com.tsystems.blt.j2ee.log.TDSLRechercheLogger.<clinit>
(TDSLRechercheLogger.java:17)
at com.tsystems.blt.j2ee.jms.MP_MessageListenerBean.<clinit>
(MP_MessageListenerBean.java:34)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0
(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance
(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance
(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance
(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:308)
at java.lang.Class.newInstance(Class.java:261)
at com.ibm.ejs.container.EJSContainer.loadBeanMetaData
(EJSContainer.java:1596)
at com.ibm.ejs.container.HomeOfHomes.loadBeanMetaData
(HomeOfHomes.java:659)

Answer: I assume you are packaging the log4j.jar at the EAR level. It seems you are trying to load your logging configuration directly from the file system. I usually tell people to load the log4j configuration file as a classpath resource. This way, you can put it in a WebSphere Application Server shared library or package it in the EAR. You can use something like:

ClassLoader.getSystemResourceAsStream()

Or, you can load a system property with the location of the configuration file.

Acknowledgements
The author would like to thank the following people for their help in preparing this article: Kyle Brown, Keys Botzum, Leigh Williamson, Tom Alcott, and Greg Flurry

More Stories By Roland Barcia

Roland Barcia is a consulting IT specialist for IBM Software Services for WebSphere in the New York/New Jersey Metro area. He is the author of one of the most popular article series on the developerWorks WebSphere site, www-106.ibm.com/developerworks/websphere/techjournal/0401_barcia/barcia.html, and is also a coauthor of IBM WebSphere: Deployment and Advanced Configuration. You can find more information about him at http://web.njit.edu/~rb54

Comments (3) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
babu 05/08/06 04:06:40 AM EDT

I need web service tutiroal for Rational application developer tool

Raksha 03/21/06 01:18:15 AM EST

Really usefull tips. But this answers very specific questions only. I am currently trying to gather all the information regarding problems i am going to face to migrate applications currently running on WAS5 to WASv6. so all the changes in coe and configurations i will need to make to these apps before i can see them running properly on the WAS v6.
summary of problems people faced while doing this. If anyone can help me, kindly mail me at rakshams@rediffmail.com
any links and suggestions are welcome
thanks
Raksha

SYS-CON Italy News Desk 01/19/06 12:37:35 PM EST

In this article, WebSphere consultant Roland Barcia answers questions on developing J2EE and Web services applications on IBM Rational Application Developer V6 and deploying and testing those applications on WebSphere Application Server V6. Topics include using the various wizards, perspectives, and tools in Rational Application Developer to develop different types of J2EE applications, using the new Service Integration Bus Messaging Platform in WebSphere Application Server V6, differences from V5 of WebSphere Studio or WebSphere Application Server, using the default WebSphere Application Server V6 in Rational Application Developer, and deploying to full WebSphere Application Server V6 Network Deployment.

IoT & Smart Cities Stories
DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
In an era of historic innovation fueled by unprecedented access to data and technology, the low cost and risk of entering new markets has leveled the playing field for business. Today, any ambitious innovator can easily introduce a new application or product that can reinvent business models and transform the client experience. In their Day 2 Keynote at 19th Cloud Expo, Mercer Rowe, IBM Vice President of Strategic Alliances, and Raejeanne Skillern, Intel Vice President of Data Center Group and G...
DXWorldEXPO LLC announced today that All in Mobile, a mobile app development company from Poland, will exhibit at the 22nd International CloudEXPO | DXWorldEXPO. All In Mobile is a mobile app development company from Poland. Since 2014, they maintain passion for developing mobile applications for enterprises and startups worldwide.
Founded in 2000, Chetu Inc. is a global provider of customized software development solutions and IT staff augmentation services for software technology providers. By providing clients with unparalleled niche technology expertise and industry experience, Chetu has become the premiere long-term, back-end software development partner for start-ups, SMBs, and Fortune 500 companies. Chetu is headquartered in Plantation, Florida, with thirteen offices throughout the U.S. and abroad.
DXWorldEXPO | CloudEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications. Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addr...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time t...
SYS-CON Events announced today that DatacenterDynamics has been named “Media Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY. DatacenterDynamics is a brand of DCD Group, a global B2B media and publishing company that develops products to help senior professionals in the world's most ICT dependent organizations make risk-based infrastructure and capacity decisions.