Java.Lang.NullPoint.Exception in OWB Mapping
Hello Everybody
We are building Data Warehouse using OWB Repository 9.2.0.2.0. When we are validating or deploying the created map we are getting Java.Lang.NullPoint.Exception. This leads to blank screen. We are unable to recover the map. Sometimes, synchronization works to recover the map, but not all the times.
Is there any solution to it?
Mark
Is it possible to solve the problem without migrating? I have the details of error as follows --
java.lang.NullPointerException
java.lang.NullPointerException
at oracle.wh.service.impl.mapping.metadata.WBMappingGraphImpl.<init>(WBMappingGraphImpl.java:43)
at oracle.wh.service.impl.mapping.metadata.WBMappingGraphHelper.createMappingGraph(WBMappingGraphHelper.java:31)
at oracle.wh.ui.mapping.MappingGraphNew.drawStage(MappingGraphNew.java:2660)
at oracle.wh.ui.mapping.MappingGraphNew.setStage(MappingGraphNew.java:484)
at oracle.wh.ui.mapping.MappingEditorCanvas.refresh(MappingEditorCanvas.java:287)
at oracle.wh.ui.common.WhFolderEditor.refreshCanvas(WhFolderEditor.java:951)
at oracle.wh.ui.common.WhFolderEditor.refresh(WhFolderEditor.java:604)
at oracle.wh.ui.common.WhFolderEditor$1$MyRefresh.run(WhFolderEditor.java:424)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:154)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:337)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)
I appreciate your feedback.
Cheers, Bana
Similar Messages
-
Java.lang.NullPointer Exception in File-RFC-File wtihout BPM scenario
Hi All,
I have implemented scenario File - RFC - File without BPM in PI7.1 according to below link by bhavesh
[File - RFC - File without a BPM - Possible from SP 19.;
but I am getting error java.lang.NullPointer Exception in Audit log of sender communication channel when it enters in ResponseOnewayBean.
I had implemented the same in PI 7.0 but there it was working fine.
Is there any limitations on the use of the above beans in PI7.1 as I could see two more threads on the same unanswered yet.
Please help me in resolving as it is priority task for me
Thanks,
AmitSometime back I saved this SAP Note 1261159 for this error. Not sure if it is still valid. Try to get it implemented.
Regards,
Prateek -
Java.lang.NullPointer Exception error in webi
Hi All,
When a opening a webi report a user is getting java.lang.NullPointer Exception error in webi for a single report.
Other reports which were build from same universe are working fine. The issue is only with one user and one report.
Environment:
Business Objects XIR3
Java 6 ,update 3
IE version 7
Web Application Server - Apache Tomcat
Thanks in Advance....Hi,
Check whether the same user is able to open the report in some other machine?
What happens when the user is trying to open other reports? Does he gets the error again?
If the reports is working with other machine, check the java version of the machines.
If the report is working with other users, it not possible that the universe is damaged.
This issue cannot be a rights issue. It has to be something with the report, java, or the universe.
Please check the above details and let me know.
Regards,
Shreyash. -
Java.lang.NullPointer exception
We have a report which fetches large amount of data and this report is inviked from JSP page using Crystal JRC.
Now if we run report and click "next" or "prvious" button befor the rpeort page is rendered with data (or finishesh fetching data). It throws "Java.Lng.NullPOinter Exception".
Can somebody please point out the problem behind this. are we doing anything wrong?
Do we need to set any paramter for report
Thanks,
Kuldeepdid you solve your problem .I have the same .
Thanks -
Java.lang.nullpointer exception in leave request
Hi folks,
I am getting null pointer exception when I am trying to access leave request in working time module in ess. The stack trace shows as below
The initial exception that caused the request to fail, was:
java.lang.NullPointerException
at com.sap.xss.hr.lea.form.edit.VcFormEdit.setVisibleFields(VcFormEdit.java:477)
at com.sap.xss.hr.lea.form.edit.VcFormEdit.onBeforeOutput(VcFormEdit.java:330)
at com.sap.xss.hr.lea.form.edit.wdp.InternalVcFormEdit.onBeforeOutput(InternalVcFormEdit.java:1092)
at com.sap.xss.hr.lea.form.edit.VcFormEditInterface.onBeforeOutput(VcFormEditInterface.java:135)
at com.sap.xss.hr.lea.form.edit.wdp.InternalVcFormEditInterface.onBeforeOutput(InternalVcFormEditInterface.java:192)
Pl let me know why I am facing this error.
Thanks,
PriyankaHi,
Please find the following setting for configuration .
Goto SPRO then follow following path
Personnel Management - > Employee Self-Service -> Service-Specific Settings -> Working Time -> Leave Request -> Processing Processes
Create Rule Groups
1st you need to create the role group ( following is E.g )
Role group : 00000001
Name of Role group : SAP Standard
Define Processing Processes for Each Rule Group (following is E.g)
Role group : 00000001
Name of Role group : SAP Standard
Start Date : 01.01.1800
End Date : 31.12.9999
Specify Processing Processes for Types of Leave ( for E.g )
(click up on new entry )
Role group : 00000001
Name of Role group : SAP Standard
PSG : 01
A/AType : 0420
Type Text : Seminar/course/training
Start Date : 01.01.1800
End Date : 31.12.9999
then once you make entri here you need to click up on details ( select that row then Ctrl + Shift + F2 )
then it will open change view of Processing Processes for Types of Leave ( here this screen for absene type 0420 )
in this screen
Start date in the Past
Put radio button on "Processing Permited to Rec. limit".
start date is the current date
Put radio button on "Processing is perminted"
Start date in the Future
put radio button "unrecstrikt processs is perminted"
tick mark at Display field next ....
tick makk to request may ..........
system response
tick mark "request has to be aproved'
like this you can make the SPRO setting for other leave othere than 0420 ..in the "Specify Processing Processes for Types of Leave" -
Read file gives java.lang.Nullpointer exception
I am reading to read a ".txt" file created by "python code" and stored in my directory.
If i comment the python code and store the file ("statusfile.txt') in the directory, the code is able to read the file. but when i uncomment and run the python code to generate the file ..it gives java.lang.NullPointerException.
the two functions for reading the file and running the python code are separate but in the same class and are also called in one JSP. Does anyone have any suggestions.
Someone did suggest me to use getResourceAsStream.. but i do not understand where to use it .. in the class (where i am doing the readfile function or where in the runpython function which basically generates the file) I did tried using it in JSP and also in the class.. but nothing seems to work. Also as i saw the examples.. getResourceAsStream is used for uploading properties or config files. I just want to simplying read the simpel text file which is already stored in the directory and return a boolean to JSP if reading file was a success.
in short the algo is
ON JSP:
1) call class function to run python code
2) call class function to read the generated in step 1.
CLASS
1) function runpython()
// store generated files in the specified directory
2) function readFile()
//read file from specified directory
//return boolean
Any suggestions
ThanxThe problem is where is "your directory"?
Creating a file by new File("myFile.txt") just puts it in the current working directory.
Sometimes this is something like the bin directory.
Most web applications use ServletContext.getRealPath("/")
This turns a website relative reference into a file reference on the local machine.
So you can say getRealPath("/index.html") and it will return the file (for example) C:\tomcat\webapps\root\index.html
On to suggestions:
Null pointer exception?
Where is it coming from? Catch the exception and print a stack trace, to see if you can determine which line of code is causing it - which variable is null. Is it the actual file, or something you use to create the file? -
Java.lang.nullpointer exception in Xcelsius
Hi,
i am using following platform
Crystal Xcelsius 2008,
Bo Xir2 SP3 Fix Pack 3.3, SP3 Productivity Pack
While using QAAWS , i am getting java.lang.nullpointerexception error in Xcelsius.Due to this i am not getting data in Xcelsius.
Please help me
Thanks in Advance
SandeepHi Sandeep,
I have a solution through which i have resolved in one of my projects.
Just incresase the heap size on Tomcat server and restart it. Say if it is 256 make it double as per your requirment.
This issue occurs when your QaaWS tries to get more data .
Hope this may solve your issue.
Let me know if the problem is not resolved.
Regards,
AnjaniKumar C.A. -
Java.lang.NullPointer exception and operating systems
Do different operating systems handle the NullPointer exception differently? I have an application that has a screen come up when you click a button. However, the app attempts to process some data before bring up the screen. Sometimes the data is null. The application works fine on linux red hat. However, the screen does not come up on HP Unix. I am not looking to fix the code (even though it may need fixed), but I am looking for an explanation why app works differently in this regard.
Do different operating systems handle the NullPointer
exception differently? Nope.
My guess is that the different OSes have different threading models. In one case X amount of work gets done in the non-GUI thread before the GUI thread tries to do its thing. In the other OS, X+1 amount of work gets done, leading to different states for the GUIs to act on. This is almost certainly a bug in your app. -
Uncaught exception:java.lang.nullpointer exception
i recently upgraded to os 4.5 on my 8310 it works fine .but when i 1st turn on my phone i get this message .does anyone know what this means ?
Did you installed any application after upgrading the OS? If yes then remove and have a restart to your device. If that too doesn't solve the issue than reinstall the OS again.
tanzim
If your query is resolved then please click on “Accept as Solution”
Click on the LIKE on the bottom right if the post deserves credit -
Java.lang.ClassNotFound Exception whenever I include .send()
Everything runs fine, but when I add the .send(message); [it is in bold] I get a java.lang.ClassNotFound Exception.
It still compiles, it just won't allow me to launch the program in the emulator. If I take that one piece of code out, everything runs fine again. I've been messing with it, and searching for a long time in an attempt to solve the problem but I've yet to come across a solution.
I'm also using Bluej
import java.io.*;
import java.lang.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;//Add SMS text, Map selection (upload image/altitude-scale)
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.game.GameCanvas;
import javax.wireless.messaging.*;
public class cardcanvas extends GameCanvas implements Runnable, CommandListener {
Image i, Mortar, Target, paintballcharleston, selectimg, Cursor;
SendSMS sendtext;
Thread t = new Thread(this);
Command cmdfire=new Command("Fire", Command.BACK, 1 );
Command cmdreset=new Command("Reset", Command.ITEM, 2 );
String text, message;
static Image Map;
MessageConnection messageConnection;
TextMessage textMessage;
int mortarX=5500, mortarY=5500, targetX=5500, targetY=5500, distanceX, distanceY, delay, mapx=-250, mapy=-250, xvel=115, yvel=130, gameAction=0, timer=0;
double A, B, C, b, degreeX, degreeY, degreeV, voltageX, voltageY, scale=1.4235, findDegree=90;//get scale of pixel:realtime feet
boolean paintdown=false, paintup=false, paintright=false, paintleft=false, left, finish, firemor, initiate, click, bottom=true, noYdegree, reset, sms=false;
public cardcanvas(){
super(false);
this.addCommand(cmdfire);
this.addCommand(cmdreset);
this.setCommandListener(this);
public void intit() {}
public void start() {
t.start() {}
public void run()
try{
while(true)
if(paintright) {
timer++;
if(timer>1&&timer<4) xvel=xvel+5;
if(timer>=4&&timer<6) xvel=xvel+10;
if(timer>=6) xvel=xvel+20;
if(paintleft) {
timer++;
if(timer>1&&timer<4) xvel=xvel-5;
if(timer>=4&&timer<6) xvel=xvel-10;
if(timer>=6) xvel=xvel-20;
if(paintup) {
timer++;
if(timer>1&&timer<4) yvel=yvel-5;
if(timer>=4&&timer<6) yvel=yvel-10;
if(timer>=6) yvel=yvel-20;
if(paintdown) {
timer++;
if(timer>1&&timer<4) yvel=yvel+5;
if(timer>=4&&timer<6) yvel=yvel+10;
if(timer>=6) yvel=yvel+20;
if(mapy<-320) mapy=-320;
if(mapx>0) mapx=0;
if(mapy>0) mapy=0;
if(mapx>197) mapx=197;
if(xvel>225)
mapx=mapx-5;
targetX=targetX-5;
mortarX=mortarX-5;
xvel=225;
if(xvel<5)
mapx=mapx+5;
targetX=targetX+5;
mortarX=mortarX+5;
xvel=5;
if(yvel>260)
mapy=mapy-5;
targetY=targetY-5;
mortarY=mortarY-5;
yvel=260;
if(yvel<5)
mapy=mapy+5;
targetY=targetY+5;
mortarY=mortarY+5;
yvel=5;
if(reset) {
mapx=-250;
mapy=-250;
xvel=115;
yvel=130;
left=false;
firemor=false;
finish=false;
initiate=false;
click=false;
bottom=true;
noYdegree=false;
reset=false;
targetX=5500;
targetY=5500;
mortarX=5500;
mortarY=5500;
A=0;
B=0;
C=0;
b=0;
degreeX=0;
if(initiate) {
distanceX=targetX-mortarX;
distanceY=targetY-mortarY;
A=distanceY;
B=distanceX;
if(distanceY<0)
A=distanceY*-1;
bottom=false;
if(distanceX<0)
B=distanceX*-1;
left=true;
A=A*scale;
B=B*scale;
C=Math.sqrt((A*A)+(B*B));
while(((A*(Math.tan(b)))<B+.00002))
b=b+.0001;
b=b*180/3.1415926535897932384626435;
degreeX=b;
if(bottom)
b=90-b;
b=b+90;
degreeX=b;
if(left)
degreeX=360-b;
initiate=false;
text=("DegreeX is "+degreeX+" Range is "+C);
sendTextMessage();
verifyGameState();
paint(getGraphics());
Thread.currentThread().sleep(1);
catch (Exception E) {}
private void verifyGameState() {}
public void sendTextMessage()
try
String message = " ";
MessageConnection messageConnection = (MessageConnection)Connector.open("sms://18433036060");
TextMessage textMessage = (TextMessage)messageConnection.newMessage(
MessageConnection.TEXT_MESSAGE, "18433036060");
textMessage.setPayloadText(message);
*messageConnection.send(textMessage);*
catch (Exception e) {}
}If I remove messageConnection.send(texstMessage); the error is gone.
Thanks in advance for your timecardmidlet:
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import java.io.IOException;
import java.lang.*;
public class cardmidlet extends MIDlet implements CommandListener {
private Display display; Display map;
cardmidlet midlet;
private Form form; Form mapselection;
private List menuList ;
String[] elements=new String[]{"Initiate Program","Select Map","Help","About"};
private Command selectCommand;
Alert alert;
private Command fnext=new Command("NEXT",Command.ITEM,1);
private Command fback=new Command("BACK",Command.BACK,1);
private Command mapnext=new Command("Next",Command.ITEM,1);
private TextField uname; TextField mapchoice;
public String nname, nmap;
cardcanvas cd;
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
protected void pauseApp() {
public cardmidlet() {
menuList();
cd = new cardcanvas();
public void menuList(){
display = Display.getDisplay(this);
menuList = new List("Menu", List.IMPLICIT, elements, null);
selectCommand=new Command("open",Command.ITEM,1);
menuList.setSelectCommand(selectCommand);
menuList.setCommandListener(this);
protected void startApp() throws MIDletStateChangeException {
display.setCurrent(menuList);
public void about(){
alert = new Alert("Option Selected", "This program is created by"+"\n"+" Chris Furlong.", null, null);
alert.setTimeout(Alert.FOREVER);
alert.setType(AlertType.INFO);
display.setCurrent(alert);
public void help() {
alert = new Alert("Option Selected", "Use the 4 d-pad keys to move the cursor. Press the center button once to select the mortar position, and a second time to select the target position. When both the mortar and the target are on screen, press the upper left key to begin the firing process. If you place one on the map by mistake, simply reset the program with the upper right key and start over.", null, null);
alert.setTimeout(Alert.FOREVER);
alert.setType(AlertType.INFO);
display.setCurrent(alert);
public void InitiateProgram(){
display=Display.getDisplay(this);
uname=new TextField("Enter your name","",50,TextField.ANY);
form =new Form("New User");
form.append(uname);
form.addCommand(fnext);
form.addCommand(fback);
form.setCommandListener(this);
display.setCurrent(form);
public void selectmap()
/* display=map.getDisplay(this);
mapchoice=new TextField("Enter Map Name","",50,TextField.ANY);
mapselection=new Form("Map Selection");
mapselection.append(mapchoice);
mapselection.addCommand(mapnext);
mapselection.addCommand(fback);
mapselection.setCommandListener(this);
display.setCurrent(mapselection);*/
display = map.getDisplay(this);
map choose=new map();
public String name(){
nname=uname.getString();
return nname;
/* public String mapname() {
nmap=mapchoice.getString();
return nmap;
public void commandAction(Command com, Displayable arg1) {
if(com==selectCommand)
if(menuList.getSelectedIndex()==3)
about();
if(menuList.getSelectedIndex()==2)
help();
if(menuList.getSelectedIndex()==1)
selectmap();
if(menuList.getSelectedIndex()==0)
InitiateProgram();
if(com==fback)
display.setCurrent(menuList);
if(com==fnext){
display = Display.getDisplay(this);
cd.start();
display.setCurrent(cd);
if(com==mapnext)
display = map.getDisplay(this);
map choose=new map();
display.setCurrent(choose);
} -
Java.lang outofmemory exception in IR
Hi
We are on XI 3.0 SP13 and involved in creating a message mapping. We have a big XCBL PO structure as the target - and while we do the mapping effort, every now and then, we get a java.lang outofmemory exception ( display error ) when we save the mapping.
I notice that my CPU util is 100% and is taken up by javaw.exe. I have a 1.6 G RAM desktop - but still face this problem. Any suggestions as to how to overcome this memory problem ? Am I missing any setting in my desktop ?? Or do we have to live with this problem since the target structure is a generic/big structure ??
Thank you in advance for your time.Hi
actually, this problem has nothing to do with the server at all. Also paging size and your desktop ram do not really matter. By default IB starts with the parameter -Xmx512M, what means that Java gets maximum 512M of RAM. You can change it saving JNLP file to your local file system and changing there this argument to -Xmx 800M or -Xmx 1024M.
The second way is to reduce schema sizes. Usually there are a lot of "annotation" and "documentation" tags. They can be easily removed withoud damaging the mapping(the only problem that in design time you'll not see a documentation for fields). If you want to go this way, you can tell me and I'll find out how it can be done by some tool. Because we had this problem with other customers and as I remember there were some tool made for this purpose.
Although it might help to install the latest SP, because there were made a number of changes to reduce a memory consumption for Message Mapping tool
Best regards
Dmitry -
Java.lang.NoClassDefFoundError: Exception in thread "main"
Hello People,
I am aware that this topic has been raised before. I have browsed through all the postings of this particular question, but i have not found the solution.
While compilign i get no errors but this is what i get when i run the java program.
java.lang.NoClassDefFoundError: Exception in thread "main"
Tool completed with exit code 1
The following is my path and classpath files under autoexec.bat
SET PATH=%PATH%;C:\j2sdk1.4.0_03\bin
SET CLASSPATH=.;%CLASSPATH%;C:\j2sdk1.4.0_03\bin
These are the settings i have in MY COMPUTER properties/environments
SYSTEM VARIABLES
Variable - classpath
Value - C:\Program Files\TextPad 4
USER VARIABLES
Variable - PATH
Value - C:\j2sdk1.4.0_03\bin
SYSTEM VARIABLES
Variable - path
Value - C:\PROGRA~1\PVCS\VM\win32\bin;C:\WINNT4\system32;C:\WINNT4;C:\WINNT4\system32\nls\ENGLISH;C:\WINNT4\system32\nls;C:\Program Files\Rational\common
USER VARIABLES
Variable - PATH
Value - C:\j2sdk1.4.0_03\bin
I hope this infromation will help.
Thanks
Regards,
ShahSET PATH=%PATH%;C:\j2sdk1.4.0_03\bin
SET CLASSPATH=.;%CLASSPATH%;C:\j2sdk1.4.0_03\bin
These are the settings i have in MY COMPUTER
properties/environments
SYSTEM VARIABLES
Variable - classpath
Value - C:\Program Files\TextPad 4I am concerned that the classpath in the autoexec.bat is different from what you posted under System variables. What version of Windows are you running? autoexec.bat is used by 98. Others use the system variables. The classpath you show for autoexec.bat looks OK but the classpath you show for system variables looks wrong. It should be the same as what you show for autoexec.bat You do not need the sdk\bin directory in your classpath unless you plan to put classes there.
The NoClassDefFound error means that the java.exe command could not find the class that you specified. You did not post the command that you entered. You may have specified the class wrong. Otherwise, it is probably a classpath problem. -
Java.lang.thread exception while using Xalan 2.0 in WLS 6.0
Hi, I'm trying to use Xalan 2.0 in a servlet hosted by WLS. Ive
modified Xalan's SimpleTransform sample to be a servlet. I
create a Transformer with the .xsl, then call tranform() to
print the tranformed xml to the response stream. The xml is
tranformed correctly, but it throws a java.lang.thread
exception. The standalone Xalan sample doesn't do this. Anyone
else seen this problem?
Here's the code of interestest, I apologize if its not formatted very well:
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException
PrintWriter out = res.getWriter();
res.setContentType("text/html");
out.println("<html><head><title>XalanTest<title></head>");
out.println("<body><h1>XalanTest</h1>");
try{
TransformerFactory tFactory = TransformerFactory.newInstance();
StreamSource ss = new StreamSource("file:\\\\My-path\\birds.xsl");
Transformer transformer = tFactory.newTransformer(ss);
StreamResult SR = new StreamResult(out);
transformer.transform(new StreamSource("file:\\\\My-path\\birds.xml"), SR );
catch(Exception e){
out.println("<p>" + e.toString() + "</p>");
e.printStackTrace(out);
out.println("<p>Exception</p>");
out.println("</body></html>");It also looks like the workaround suggested does not work.
I put the following code as workaround:
response.setContentType("text/html");
response.setHeader ("Pragma", "no-cache");
Transformer transformer;
TransformerFactory factory = TransformerFactory.newInstance();
String stylesheet = "config\\closs\\applications\\webroot\\jsp\\example\\Load2.xsl";
String sourceId = "config\\closs\\applications\\webroot\\jsp\\example\\Load2.xml";
String outputFile = "config\\closs\\applications\\webroot\\jsp\\example\\Load2.html";
String outputDirectFile = "config\\closs\\applications\\webroot\\jsp\\example\\Load2_Direct.html";
try
PrintWriter fout = new PrintWriter (new FileOutputStream (outputFile));
OutputStream os = new ByteArrayOutputStream();
transformer = factory.newTransformer(new StreamSource(stylesheet));
transformer.transform(new StreamSource(sourceId), new StreamResult(outputDirectFile));
transformer.transform(new StreamSource(sourceId), new StreamResult(os));
os.flush ();
os.close();
out.print(os.toString());
fout.print (os.toString ());
fout.flush ();
fout.close ();
catch (Exception e)
// Error Handler
e.printStackTrace();
The two .html files produced look exactly the same, which is good.
However, the screen output to my html browser (Internet Explorer 5.50 sp1) produces
different output.
That is strange, but that shows that this bug does not have a known workaround
"Rabinowitz" <[email protected]> wrote:
>
I have the same problem with java sun xml parser (jaxp 1-1)
It is interesting to know that all this perfectly works under weblogic
5.1, so
I cannot migrate my application to 6.0
So, the functionality of weblogic 6.0 degraded since 5.1.
I cannot buy the explanation that that is not bea's fault, because it
perfectly
worked with the same version of xml parser.
Now, their customer support is saying they have not decided whether this
is a
bug or a feature.
Interesting to know that degradation of functionality could be a feature!
It is now June 21, 3 months since this bug was reported, sp2 was shipped
since
that time, and this bug is still there.
"Chuck H. Zhao" <[email protected]> wrote:
I am having the exact same problem you are having. If we analyze the
stack
trace:
javax.xml.transform.TransformerException: java.lang.Thread
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.j
ava:1212)
at
org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:2894)
at java.lang.Thread.run(Thread.java:484)
java.lang.ClassCastException: java.lang.Thread
at
weblogic.servlet.internal.ResponseHeaders.setDateHeader(ResponseHeaders.java
:273)
at
weblogic.servlet.internal.ServletResponseImpl.setDateHeader(ServletResponseI
mpl.java:449)
at
weblogic.servlet.internal.ServletResponseImpl.writeHeaders(ServletResponseIm
pl.java:637)
at
weblogic.servlet.internal.ServletOutputStreamImpl.flush(ServletOutputStreamI
mpl.java:124)
at
weblogic.servlet.internal.WLOutputStreamWriter.flush(WLOutputStreamWriter.ja
va:124)
at java.io.PrintWriter.flush(PrintWriter.java:120)
at
org.apache.xalan.serialize.SerializerToXML.flushWriter(SerializerToXML.java:
1431)
at
org.apache.xalan.serialize.SerializerToXML.endDocument(SerializerToXML.java:
629)
at
org.apache.xalan.transformer.ResultTreeHandler.endDocument(ResultTreeHandler
..java:180)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.j
ava:1194)
at
org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:2894)
at java.lang.Thread.run(Thread.java:484)
What happened is: to support incremental output, Xalan-Java performs
the
transformation in a second thread while building the source tree inthe
main
thread. So Transformer.transform() creates a new thread to run the
transformer.run() method, which will write to weblogic's internal
ServletOutputStreamImpl, and in the end calls flush() on it.
ServletOutputStreamImpl determines that the headers haven't been written
yet, and the headers need to be written before any servlet output, so
it
calls ServletResponseImpl.writeHeaders(), which eventually calls
ResponseHeaders.setDateHeader(). The last method assumes the thread
is
weblogic's internal ExecuteThread and tries to cast the thread as such,
maybe to get the date from it. But the thread is a plain java.lang.Thread
created by xalan, thus we get the java.lang.ClassCastException:
java.lang.Thread
This suggests a second workaround: call ServletResponse.flushBuffer()
before any xalan stuff, which will force the headers to be written in
weblogic's ExecuteThread. The shortcoming of this is that this will
cause
the response to be commited, and if the xalan stuff throws exception
you can
not forward to another page.
Another thing is that xalan should not directly call flush() on
ServletOutputStreamImpl at all. I will report it to xalan and see if
they
consider that a bug. If they fix that then we have a third workaround:
set
the buffer size of ServletResponse big enough to accomodate everything
including the xslt outputs, so the ServletOutput does not need to be
flushed
during xalan code.
I do not consider this problem a weblogic bug, since the servlet container
has to right to expect any thread inside it to be its own. Serlvet2.2
spec
says:
1.2 What is a Servlet Container?
A Servlet Container may place security restrictions on the environment
that
a servlet executes in. In
a Java 2 Platform Standard Edition 1.2 (J2SE) or Java 2 Platform Enterprise
Edition 1.2 (J2EE)
environment, these restrictions should be placed using the permission
architecture defined by Java 2
Platform. For example, high end application servers may limit certain
action, such as the creation of
a Thread object, to insure that other components of the container are
not
negatively impacted.
Weblogic should explicitly warn the developers that creating threads
inside
the servlet container may have adverse effects, the same kind of problem
we
are having. (or maybe they already did somewhere in their documentation?)
On the xalan side, I would suggest them to either give the option to
switch
the two threads, or to give the option to buffer the output and write
it out
in the main thread, which is exactly what you did in your first workaround.
Any comments or thoughts on the subject are welcome.
-- Chuck Zhao
"MK Parini" <[email protected]> wrote in message
news:[email protected]...
I found, what I think to be a bug, and a work-around for it.
When doing an XSLT Transformation, you must specify a StreamResult
to which to write the output. I was doing my transformation in
a
servlet so I was writing my output to the HttpResponse
(The variable res is a javax.servlet.http.HttpServletResponse
object)
StreamResult htmlTarget = new StreamResult(res.getWriter());
If I use this, when I perform the transformation using the TRAX
APIs,
InputStream xslFile = context.getResourceAsStream(fileName);
TransformerFactory tFactory = TransformerFactory.newInstance();
Templates xslTemplates = tFactory.newTemplates(new StreamSource(xslFile));
transformer = xslTemplates.newTransformer();
transformer.transform(xmlSource, htmlTarget);
I receive the ClassCastException from the class
weblogic.servlet.internal.ResponseHeaders.setDateHeader(ResponseHeaders.java
:273),
as seen in my previous posting.
I discovered, if I write my output to a StringBuffer, and then
I write
the StringBuffer to the HttpResponse, I do not get the ClassCastException.
For example,
StringWriter myWriter = new StringWriter(2400);
StreamResult htmlTarget = new StreamResult(myWriter);
<Same transformation code as above>
myWriter.close();
PrintWriter out = res.getWriter();
out.print(myWriter.toString());
Is this a bug in the weblogic internal servlet class or am I just
missing something?
Also, one concern that I have with the workaround is that it might
hurt performance.
Any comments or thoughts on the subject are welcome. -
Java.lang.indexoutofbound Exception
HI all
i am trying to convert multiple jpg images to single tiff image..i am getting an exception that is
"java.lang.indexoutofbound Exception"..can anyone help me
import com.sun.media.imageio.plugins.tiff.TIFFImageWriteParam;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Locale;
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
import javax.imageio.metadata.IIOMetadata;
import javax.imageio.stream.ImageInputStream;
import javax.imageio.stream.ImageOutputStream;
public class mergeImages
public void execute(ArrayList<File> imageFiles , File newTIFF)
throws IOException
Iterator iterator = imageFiles.iterator();
Iterator writers = ImageIO.getImageWritersByFormatName("tif");
ImageWriter writer = (ImageWriter)writers.next();
ImageOutputStream ios = ImageIO.createImageOutputStream(newTIFF);
writer.setOutput(ios);
TIFFImageWriteParam tiffWriteParam = new TIFFImageWriteParam(Locale.US);
tiffWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
tiffWriteParam.setCompressionType("JPEG");
boolean firstImage = true;
while (iterator.hasNext())
File imageFile = (File) iterator.next();
ImageInputStream iis = ImageIO.createImageInputStream(imageFile);
Iterator readers = ImageIO.getImageReaders(iis);
ImageReader reader = (ImageReader)readers.next();
reader.setInput(iis);
try
for(int i = 0;i<imageFiles.size();i++)
IIOMetadata iioImageMetadata = reader.getImageMetadata(i);
int imageHeight = reader.getHeight(i);
int imageWidth = reader.getWidth(i);
tiffWriteParam.setTilingMode(ImageWriteParam.MODE_EXPLICIT);
tiffWriteParam.setTiling(imageWidth, imageHeight, 0, 0);
BufferedImage bi = reader.read(i, null);
IIOImage image = new IIOImage(bi, null, iioImageMetadata);
if(firstImage==false)
writer.writeInsert(-1,image, tiffWriteParam);
else {
writer.write(null, image, tiffWriteParam);
firstImage = false;
catch (Exception e)
System.out.println("Exxxxxxxxx"+e);
reader.dispose();
writer.dispose();
public static void main(String[] args)throws IOException
ArrayList filesList=new ArrayList();
File destFile = new File("c:\\TEST.tif");
//your logic to get the list of files.
// set the file list to 'filesList'
File in1 = new File("c:\\a.jpg");
File in2 = new File("c:\\b.jpg");
filesList.add(0,in1);
filesList.add(1,in2);
mergeImages mI=new mergeImages();
mI.execute(filesList,destFile);
}To expand on that a little, so that you get better information next time:
This line tells you what, ultimately, failed.
java.lang.IndexOutOfBoundsExceptionYou then get the stack trace from most recent method called to least recent method called. The most recent method will contain the line of code that actually failed, but as here may be in an external library:
at com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage(JPEGImageReader.java:448)The last external package after your own code will be the method call that failed. Here you were calling the getImageMetadata() method of the com.sun.imageio.plugins.jpeg.JPEGImageReader class. Documentation on this class is available from the [Sun API documentation|http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/ImageReader.html] .
at com.sun.imageio.plugins.jpeg.JPEGImageReader.getImageMetadata(JPEGImageReader.java:851)The next entry indicates which line of your own code failed. Here it was line 45 which is within a method called execute (mediocre name - it should describe what it's doing, execute is too abstract) of your own class called mergeImagesHCL (also a poor name - classes should always start with a capital letter):
at mergeImagesHCL.execute(mergeImagesHCL.java:45)The rest of the stack trace tells you how you got there - here by calling mergeImagesHCL at line 84 of the main method of the same class:
at mergeImagesHCL.main(mergeImagesHCL.java:84)Stack traces tell you exactly what line of code your error is on, what you were calling when it failed, and why it failed. Use them. -
Weblogic 8.1 SP4 getting Java.lang.outofMemory exception
Dear experts,
We are running WL8.1 SP4 on our Solaris 5.9 Server.
We want to do MQ implementatin on this server and for the same some kernel parameters were changed.
now our system has below parameters in /etc/system:
set semsys:seminfo_semmsl=1000
set semsys:seminfo_semvmx=32767
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmseg=2048
set shmsys:shminfo_shmmni=2048
set semsys:seminfo_semmni=1024
set semsys:seminfo_semaem=16384
set semsys:seminfo_semmap=1026
set semsys:seminfo_semmns=16384
set semsys:seminfo_semopm=100
set semsys:seminfo_semmnu=16384
set semsys:seminfo_semume=256
set msgsys:msginfo_msgmni=50
set msgsys:msginfo_msgmap=1026
set msgsys:msginfo_msgmax=4096
set msgsys:msginfo_msgmnb=65535
set msgsys:msginfo_msgtql=4096
set msgsys:msginfo_msgssz=16
set msgsys:msginfo_msgseg=8192
set rlim_fd_cur=10000
set rlim_fd_max=10000
and below in /etc/profile:
ulimit -s unlimited
ulimit -d unlimited
but as soon as server was rebooted and we tried to start the weblogic we got java.lang.outofmemory exception.
details as below:
admin_trace:
java.lang.OutOfMemoryError
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:112)
at java.util.zip.ZipFile.<init>(ZipFile.java:72)
at weblogic.servlet.internal.WebAppHelper.makeImplicitMapFromJars(WebAppHelper.java:479)
at weblogic.servlet.internal.WebAppServletContext.extractClassFiles(WebAppServletContext.java:5436)
at weblogic.servlet.internal.WebAppServletContext.setDocroot(WebAppServletContext.java:5253)
at weblogic.servlet.internal.WebAppServletContext.init(WebAppServletContext.java:545)
at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:496)
at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:637)
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:619)
at weblogic.j2ee.J2EEApplicationContainer.prepareWebModule(J2EEApplicationContainer.java:3191)
at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1581)
at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1227)
at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1070)
at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2513)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2463)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2379)
at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:866)
at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:594)
at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:508)
at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
--------------- nested within: ------------------
weblogic.management.ManagementException: [Deployer:149233]An unexpected error was encountered during the deployment process. - with nested exception:
[java.lang.OutOfMemoryError]
at weblogic.management.deploy.slave.SlaveDeployer.convertThrowable(SlaveDeployer.java:1017)
at weblogic.management.deploy.slave.SlaveDeployer.access$500(SlaveDeployer.java:124)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2395)
at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:866)
at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:594)
at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:508)
at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
managed2_trace:
[java.lang.OutOfMemoryError].
java.lang.OutOfMemoryError
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:112)
at java.util.zip.ZipFile.<init>(ZipFile.java:72)
at weblogic.servlet.internal.WebAppHelper.makeImplicitMapFromJars(WebAppHelper.java:479)
at weblogic.servlet.internal.WebAppServletContext.extractClassFiles(WebAppServletContext.java:5436)
at weblogic.servlet.internal.WebAppServletContext.setDocroot(WebAppServletContext.java:5253)
at weblogic.servlet.internal.WebAppServletContext.init(WebAppServletContext.java:545)
at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:496)
at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:637)
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:619)
at weblogic.j2ee.J2EEApplicationContainer.prepareWebModule(J2EEApplicationContainer.java:3191)
at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1581)
at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1227)
at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1070)
at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:823)
at weblogic.management.deploy.slave.SlaveDeployer$Application.prepare(SlaveDeployer.java:3029)
at weblogic.management.deploy.slave.SlaveDeployer.prepareAllApplications(SlaveDeployer.java:967)
at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.java:349)
at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resume(DeploymentManagerServerLifeCycleImpl.java:229)
at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
at weblogic.Server.main(Server.java:32)
--------------- nested within: ------------------
weblogic.management.ManagementException: [Deployer:149233]An unexpected error was encountered during the deployment process. - with nested exception:
[java.lang.OutOfMemoryError]
at weblogic.management.deploy.slave.SlaveDeployer.convertThrowable(SlaveDeployer.java:1017)
at weblogic.management.deploy.slave.SlaveDeployer.access$500(SlaveDeployer.java:124)
at weblogic.management.deploy.slave.SlaveDeployer$Application.prepare(SlaveDeployer.java:3034)
at weblogic.management.deploy.slave.SlaveDeployer.prepareAllApplications(SlaveDeployer.java:967)
at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.java:349)
at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resume(DeploymentManagerServerLifeCycleImpl.java:229)
at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
at weblogic.Server.main(Server.java:32)
>
need help to identify what exactly went wrong and where.
ThanksHi,
As you are using WLS8.1 It means your JDK will be JDK1.4 and there is a Bug already available with JDK1.4 for the Same issue ... Please find the below link:
http://bugs.sun.com/bugdatabase/view_bug.do;:YfiG?bug_id=4705373 (For Sun JDK1.4)
AND
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6373059 (For Sun JDK 1.5.0_05)
Please try to switch to JRockit JDK.
Thanks
Jay SenSharma
http://weblogic-wonders.com/weblogic (WebLogic Wonders Are Here)
Maybe you are looking for
-
Going to itunes store on xp, it won't go past the window for the advertisement for itunes 10
When accessing the Itunes store, it loads to the advertisement page of Itunes 10, I don't want to download Itunes 10, but it doesn't give me that option. I just used the store a few weeks ago. I don't understand why I can't now. My operating syste
-
How Do I Use Secondary Addresses in Code?
I'm using the dpib32.pas library and none of the code examples I've come across clue me in as to how the secondary GPIB address comes into play. I'm not sure how to even set it for a communication since the Send call refers to one address: procedure
-
Error: "You are not connected to a company" in deployment site
This error only occours in the deployment site, in development I have no such error. In the deployment site all the software is installed in the same machine. This is a WebService developed internally with VStudio .NET,in c# , and we are using SAP BO
-
What is behavior for cookie-http-only?
I noticed cookie-http-only property available in 9.2 and also 10.3 but what exactly does enabling this do? The documentation isn't very clear. "Specifies whether HttpOnly cookies are enabled. When this element is set to true, all session cookies woul
-
Creating apex instance administrator
Hi all, Is it possible to create other APEX instance administrator? Thanks Karl