EJB / EE :: Port Asynchronous Bean Support In App Servers Like Weblogic And Jboss
Dec 26, 2013
I need to port asynchronous bean (provided by websphere) support in App servers like weblogic and jboss. Is this feature already part of J2EE specification? Or should I use some other external package to get this feature?If so what are those async bean like features for weblogic and jboss?
I am currently trying to access an EJB Session deployed in a Weblogic server from JBOSS.
The client code looks like this :
Hashtable environment = new Hashtable(); environment.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); environment.put(Context.URL_PKG_PREFIXES, "weblogic.jndi.factories"); environment.put(Context.PROVIDER_URL, "t3://<ip>:<port>"); InitialContext context = new InitialContext(environment); ServiceHome home = (ServiceHome)context.lookup("ejb/Service");
When I run this code from a standalone java program it executes ok, but when I try to run it from an application deployed in JBOSS, the line (5) which creates the InitialContext object throws this Exception :
In order to be able to use weblogic naming factory I put the archive weblogic-8.1.6.0.jar in jboss's /server/default/lib directory. But I think it has to do with JNDI conflicts between JBOSS and weblogic.
But resource.returnString(r); gives a org.apache.jasper.JasperException: java.lang.NullPointerException I started the glassfish server in debug mode and found out that "resource" was null. but @PostConstruct in singleton does print which means singleton bean exists.
Can we call singleton beans with no interface in such a way form a session bean? I actually want to acquire instance of singleton bean when a client invokes method in Client bean...
I'm new to JSP but I've to use it to grab data coming from an external site, pass data to a Bean, write data in a DB and redirect the user to another page. Follow the JSP page.
<%@page import="EJB.getResponse"%> <% long paymentID = Long.parseLong(request.getParameter("paymentid")); String responsecode = "9999"; getResponse g = new getResponse();
[Code] ....
This is the bean:
@ManagedBean @RequestScoped public class getResponse implements Serializable { private Long paymentId; private String result; private String auth;
[Code] ....
On the console I see the prints but I receive the NullPointerException
WARNING: StandardWrapperValve[jsp]: PWC1406: Servlet.service() for servlet jsp threw exception java.lang.NullPointerException at EJB.getResponse.printData(getResponse.java:72) at org.apache.jsp.notify_jsp._jspService(notify_jsp.java from :60) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
Can we use EJB @Asynchronous annotation in distribute environment. I know we can use it but I want to know its Advisable or not. Because It's not advisable to manage user thread in Distribute environment like EJB container .Earlier if we want to make Asyn call then we use JMS. But now they added @Asynchronous annotation with Future Class to achieve the same result.
The application works fine but currently there is data getting replicated among different users. Is it the problem of session data getting merged with other session data or is it server cache not getting cleared or is there any setting to be changed in weblogic application server??
I want to develop separate projects for web layer (.war) and for Business layer (.jar). I want to deploy these layers on different Glassfish servers.
Here is my Approach -
1. Create a separate module for remote interfaces (.jar), use @remote annotations 2. Create a Web module using JSP/Servlets (.war) and use this remote interface jar in it. 3. Create a EJB module (.jar) and implement these remote interface in it. 4. Use JNDI in Web layer to access the EJB methods.
MDS don't support all six transaction attributes. MDBs support only REQUIRE or NOT_SUPPORT.... There is no existing transaction to suspend or join when a message is delivered, The two options you have available are REQUIRE if you want a transaction.....
there is no existing transaction when a message is delivered from a queue to an MDB. Why we still need a transaction as it says " REQUIRE if you want a transaction"? When a message is delivered from the queue to the MDB, is this a transaction?
I have two different web apps (let's name them A and B) running on Tomcat (v5). At some point, one of A's JSPs invokes one of B's through an iFrame that contains a form. Then, B does its bussiness and sends an answer to another one of A's JSPs, which now can continue doing its stuff.
As I said, this runs on Tomcat with zero problems.
But recently I tried to deploy both apps on Weblogic (v9.2) and found one big problem: just when B has sent the answer, A loses the session and has to stop.
I am running a test servlet on Tomcat and have implemented different behaviours for the doPost and doGet methods. When I access from the browser, only the doGet method gets called ultimately.
The Firefox developer tools show me a GET request from the browser to my Tomcat instance. Do browsers ever call the POST http method? How could I make this happen?
->When the user request for a file that is not exists i want to redirect to a valid url where i can inform him that the file does not exists. ->I am trying to use the properties messages for the language that the user has. I want to use it cause i want to reuse some of the message and it is easier to translate the page to other languages. How when the browser has a default page English to let user change the language to Italian for example but for all page.
Our company has a web based project which using the Jboss EAP 6.1 +EJB 3.1 + JSF2 and deployed it in a cluster environment(Server A,Server B and Server C).We have created some schedule tasks by using EJB timer service and the timer data file is stored in a central file system.And users can login and access to a task configuration page to customise his own tasks by create,update,delete actions etc.But we find that the timers don't work correctly in the cluster environment.
For example.When we start the Servers(A,B,C),each server will load the timer file data into his own node cache from the central file system.But when one user go to the task configuration page to update or delete his own tasks from one of the Servers, it only update the change on its own node cache and don't replicate the timer data to other nodes' cache and which cause the problem.
I know there is one way to fix it is that we could shutdown the three Servers and re-boot them and the timer data file will be re-loaded into each server's cache. But we can't do that because the users want their own created/updated tasks take effect immediately once they change them.My question is that when the timer data in cache is updated on one server, how to make it synchronize to the other Servers'.
I studied that java does not support multiple inheritance using classes. It is fine practically, but I have still a question in mind:Lets see the below code.
class Test{ ------ ------ }
class MyTest extends Test{ --------- --------- }
Here, as we know that that Object is Super class for every class in java. and I have already extends a Test class in MyTest.My question is: How is it possible to extend features of two class at the same time?
java.lang.IllegalArgumentException: argument type mismatch at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324)
[Code] .....
I see the file "myApache.log" got created but there's no info in it when i re-test the error, I have other existing appenders and categories in this same file which do give output so I know it has nothing to do with the file or the path itself.
I would like to know how I can get the list of installed JCA adapters from my application which deployed onto WebLogic server. Is there any WebLogic api available for that?
A getting started app is fine, need to understand of deploying a sample application to WebLogic server. Any particular configuration during WLS install?
We have a J2EE business web application that runs in WebLogic. We noticed in application log files errors messages that seems like "No resource available in db pool", it means all the connection objects (to Oracle database) are used. Then the application is unstable and unseable.
I think the maximum number of connections configured in Weblogic pool has been reached due to an increase of users and activity. But when the workload decreases the application is still out of service. It seems connections objects are not relased to the pool. What can be the explanation for this issue ? Normally it is managed by the container (EJB3 for the business tier).
Once the limit of the pool is reached it is necessary to restart the server to solve this kind of error ?
There is a weblogic server running at remote place and i need to access the API's in that remote method using JNDI lookup. My application is configured in Spring Tool Suite IDE with java 6 and tomcat 7 and I have used Spring to perform the jndi lookup of weblogic server. In spring i have used simpleremotestatelesssessionproxyfactorybean class to lookup a weblogic server using jndi and get the remote object. But somehow on doing it i'm getting the following error.
org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 203 completed: Maybe at com.sun.corba.se.impl.logging.ORBUtilSystemException.writeErrorSend(Unknown Source) at com.sun.corba.se.impl.logging.ORBUtilSystemException.writeErrorSend(Unknown Source) at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.sendWithoutLock(Unknown Source) at com.sun.corba.se.impl.encoding.BufferManagerWriteStream.sendFragment(Unknown Source)
[Code] ....
The exception is been thrown at com.sun.corba.se.impl.encoding.CDROutputObject method when calling writeTo(). Why I'm getting this error and can I do anything to remediate it. Irrespective of java this error occurs, i tried with java 5, 6 and 7 but still getting the same error.
displaying COM port in Combo box , see my code below , it does not show any error but it does not show COM port in combo box , instead it shows the class name of Communicator with some garbage data .