Venkataramu Pendiyala

Greenhorn
+ Follow
since May 16, 2001
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Venkataramu Pendiyala

I am working on an enterprise application using following architecture-
Java Thin Client -> Session Beans (Stateless) -> Entity Beans -> Oracle 8.1.7
I am using VAJ 3.5 for application development with WebSphere application server 3.5.
I am facing following problem-
1.It takes about 65 seconds to return a create call for Session bean from client application.
2.A method call on this newly created session bean takes about 60-65 seconds to return.
3.Then onwards, any other method call to the same session bean takes only a fraction of a second to execute.
Now my question is why does it take so long to return a create call? And why does it take so long to return method call for the very first time?
How can this time be reduced?
WebSpere is running on HP-Ux with good amount of memory available to it (~500MB/processor).
4.The ejbCreate method does not have any implementation for it. So there is no chance of any cascade creates that might trigger in it.
5.I downloaded the Resource Analyzer from IBM site for WAS3.5. I am studying it to see how far can I use it to track down this performance problem.
My initial analysis shows that it takes only 390 msecs to execute the first time method is called (point 2 in my previous post).
Whereas Client Application waits for 60-65 seconds before method call returns.
So now my question is where is this time going in?
Why it takes that long for WAS to find the bean and execute the method call?
6.The subsequent calls to the same method takes even less time (point 3 in my earlier posting). Avg. 261 msecs for 2 method calls. This time client receives the returns immediately. (Just to clarify - it does not matter if I call the same method or a different method for SLSB, method returns immediately.)
I am not able to understand why would it take almost 60-65 seconds to call a method on newly created session bean.
Whereas it takes no time for subsequent method calls to complete.
My guess is it may be the similar case when client calls create method for SLSB.
Every method call does very much the same thing.
a.Lookup Entity Bean, call finders, collect/update data and return.
b.Sometimes create another session bean and call its methods, that in-tern perform step a.
I also checked (using resource analyzer) -
orb thread pool - is never maxed out.
Database connection pool - 0 wait time.
I know there is some bottleneck, but where? How to locate it?
I have following understanding of how a remote method is called. Broadly-
Client (1) -> remote method call (2) -> orb layer (3) -> container implementation (4) -> method execution (server) (5) -> return value (6) -> orb layer (7) -> return value to client (8)
Between step (1) to (8) it takes ~65 seconds - for "first time method call" (and for "create" also).
Step (5) takes only 0.39 secs for "first time call".
So where rest of the time is going?
What is happening at step (2), (3) and (4) and how to analyze it?
And why it happens only in the beginning of session bean life cycle?
Another interesting fact is that, this kind of delay does not happen when one session bean creates another session bean and executes its methods.
18 years ago
I am working on an enterprise application using following architecture-
Java Thin Client -> Session Beans (Stateless) -> Entity Beans -> Oracle 8.1.7
I am using VAJ 3.5 for application development with WebSphere application server 3.5.
I am facing following problem-
1.It takes about 65 seconds to return a create call for Session bean from client application.
2.A method call on this newly created session bean takes about 60-65 seconds to return.
3.Then onwards, any other method call to the same session bean takes only a fraction of a second to execute.
Now my question is why does it take so long to return a create call? And why does it take so long to return method call for the very first time?
How can this time be reduced?
WebSpere is running on HP-Ux with good amount of memory available to it (~500MB/processor).
4.The ejbCreate method does not have any implementation for it. So there is no chance of any cascade creates that might trigger in it.
5.I downloaded the Resource Analyzer from IBM site for WAS3.5. I am studying it to see how far can I use it to track down this performance problem.
My initial analysis shows that it takes only 390 msecs to execute the first time method is called (point 2 in my previous post).
Whereas Client Application waits for 60-65 seconds before method call returns.
So now my question is where is this time going in?
Why it takes that long for WAS to find the bean and execute the method call?
6.The subsequent calls to the same method takes even less time (point 3 in my earlier posting). Avg. 261 msecs for 2 method calls. This time client receives the returns immediately. (Just to clarify - it does not matter if I call the same method or a different method for SLSB, method returns immediately.)
I am not able to understand why would it take almost 60-65 seconds to call a method on newly created session bean.
Whereas it takes no time for subsequent method calls to complete.
My guess is it may be the similar case when client calls create method for SLSB.
Every method call does very much the same thing.
a.Lookup Entity Bean, call finders, collect/update data and return.
b.Sometimes create another session bean and call its methods, that in-tern perform step a.
I also checked (using resource analyzer) -
orb thread pool - is never maxed out.
Database connection pool - 0 wait time.
I know there is some bottleneck, but where? How to locate it?
I have following understanding of how a remote method is called. Broadly-
Client (1) -> remote method call (2) -> orb layer (3) -> container implementation (4) -> method execution (server) (5) -> return value (6) -> orb layer (7) -> return value to client (8)
Between step (1) to (8) it takes ~65 seconds - for "first time method call" (and for "create" also).
Step (5) takes only 0.39 secs for "first time call".
So where rest of the time is going?
What is happening at step (2), (3) and (4) and how to analyze it?
And why it happens only in the beginning of session bean life cycle?
Another interesting fact is that, this kind of delay does not happen when one session bean creates another session bean and executes its methods.
I have a database trigger in oracle. When I call setXXX() of CMP on my table the trigger is implicitly fired . But When I run my application which is calling above CMP I am getting TransactionRolledBackException. Pls guide me how to handle database failures such as improper triggrr,SQLExceptions in my java code.
Is it that Java does not handle all of the trigger related exceptions?
Is it because of the EJBs whose internal functionality is unknown to the application?
Would appreciate quick reply
If u have installed Oracle 8.1 then there has to be a zip file named classes111.zip in the location Oracle\Ora81\jdbc\lib.
Serch that file and put that file in the classpath.
18 years ago
I am trying to print from WAS , but I am geeting an pop up dialog box which says "There is no default printer installed on your m/c ". Actually default printer does exists on my m/c.
It runs successfully outside WAS i.e. from VAJ test environment ,command prompt.
Would appreciate your solution.
18 years ago
I want to use print services of JDK1.4 . But VAJ3.5 supports jdk1.2 . Can i use jdk1.4 with WAS3.5.? Would appreciate your help.
I want to use print services of JDK1.4 . But WAS3.5 supports jdk1.2 . can i use jdk1.4 with WAS3.5. Would appreciate your help.
18 years ago
Hi,
can anybody suggest how to print a .html file using
java program? the printing should be done in batch mode,
i.e, no user interface. The program should pick up the file
from some folder and send it to the printer. AND the printout
should be same as the file would look in a browser!
thanks,
18 years ago
Hi,
I have got 2 files, one in PDF format and other in HTML format.
How to send the files to printer without showing the dialog Box (i.e silent Printing) in Java so that the files get printed out?
Is there any API available for doing this?
Thanks in advance,
Venkat
18 years ago

Originally posted by Desai Sandeep:
Venkataramu,
The answer is very funny but when you use the J2EE Reference Implementation, with Oracle8i, it creates a table with a name as "TableName" (note the quotes) .
So you need to say select * from "TableName".
Hope this helps,
Sandeep


Thanks for the solution.
How to use Datasource(JDBC 2. 0)(not DriverManager of JDBC 1.x),
with normal Java Beans (not EJB's) . I don't want to use any IDE.
Pls give me the sample code.
In the case of normal java bean, whenever object is called new instance of the bean is created.
Where as in the case of ejb's , ejb container maintains pool of instances.

Originally posted by bredan:
If you started the name server and got the error message, mostly because you haven't compute the classpath of the executable file.
You could right click the file and select properties. Then click classpath then compute. I usually select all projects and save as default. Hope it will help.


Thanks for the solution.

i got the solution .
1. set the transaction attribute as Read_Committed.
2.Override ejbCreate() , initialize not nulls columns.
3.set Readonly property for getXXX()( not for setxxx())
Thanks,
Venkat.