EJB 3.0 Stateful bean not saving state while Stateless bean is !!!
My Stateless bean is as follow:
package test;
import javax.ejb.Stateless;
@Stateless(mappedName = "StatelessBean")
public class StatelessBean implements StatelessBeanRemote {
int counter;
public void increment(){
System.out.println("Stateless counter value:"+counter);
counter++;
My Stateful bean is as follow:
package test;
import javax.ejb.Stateful;
@Stateful(mappedName = "StateFulBean")
public class StateFulBean implements StateFulBeanRemote {
int counter;
public void increment(){
System.out.println("Stateful counter value:"+counter);
Client is as follows:
package test;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
public class TestClient {
public static void main(String[] args) {
Hashtable hashtable = new Hashtable();
hashtable.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
hashtable.put(Context.PROVIDER_URL, "t3://localhost:7001");
InitialContext ic;
try {
ic = new InitialContext(hashtable);
StateFulBeanRemote stateFulBeanRemote = (StateFulBeanRemote)ic.lookup("StateFulBean#test.StateFulBeanRemote");
stateFulBeanRemote.increment();
StatelessBeanRemote statelessBeanRemote = (StatelessBeanRemote)ic.lookup("StatelessBean#test.StatelessBeanRemote");
statelessBeanRemote.increment();
} catch (Exception e) {
e.printStackTrace();
The output i am getting after running the client twice is as follows:
//first time
Stateful counter value:0
Stateless counter value:0
//second time
Stateful counter value:0
Stateless counter value:1
Shouldn't the counter values be incremented in case of Stateful bean and remain the same for Stateless bean. But the output that I am getting is the complete opposite !!!
Can anyone please explain this confusing behavior of stateless and stateful ejb 3.0 beans.
868664 wrote:
Can anyone please explain this confusing behavior of stateless and stateful ejb 3.0 beans.It is very simple: a stateless bean is ASSUMED to be stateless; you cannot keep state in a stateless bean as a contractual rule. That doesn't mean that you will fail to keep state in them at least for a little while, they are still only Java objects. Generally stateless EJBs are pooled, so you may get the same instance each time you use such an EJB, but you may just get another one. It is not dependable and the rules say don't do it - so don't do it.
A stateful bean is tied to a single client, and so can be used by a client to keep state in it. Since You are running the client application twice you are operating with two different clients and so you will get a new stateful bean each time and your code will keep printing 0. However there is also a bug in your code:
public void increment(){
System.out.println("Stateful counter value:"+counter);
}You are not incrementing anything.
Similar Messages
-
Question about conversational state of Stateless bean....
Hello all,
I have a simple stateless bean which parses an XML file and stores the xml content as an list of 2-D arrays in member variables. Here is quick look at design...
import javax.ejb.Stateless;
// included other libraries
import java.util.List;
import java.util.ArrayList;
@Stateless
public class XMLParseBean implements XMLParseBeanInterface {
public List<String> strParameters;
public List<String> getStrParameters() {
return strParameters;
private void setStrParameters(List<String> strParameters) {
this.strParameters = strParameters;
public void parseXML(String strFileName) {
/* Open the XML file and do initializations for xml parsing here
setStrParameters(visitNode(doc.getDocumentElement()));
private List<String> visitNode(Element thisNode) {
/* Parse the XML here */
return strNodes; // return the node names and their values
}My question is : if I inject this bean in another bean, call the method for parsing XML and then call the getParameter method to access the value of member variable, will it work.
I mean since I am using stateless bean, does the conversation state end when the parseXML method ends?sir_edward wrote:
Hi vikram8jp,
The session of an stateless bean ends after a method call. If you call a method of your bean, the bean will forget all attributes when the method ends. If you want to save attributes, you have to use a stateful bean.
Regards
Sir EdwardHello Sir Edward,
That answers my query. -
RichQuery Component - not saving criteria while Saving Preference
I am using RichQuery component to advantage of saving preferences and picking them to execute it once saved. Using the out-of-box component with no customization.
Criteria values are not as part of saving preferences.
Ex. Ran the page, then enter criteria like employee name and then hit search button. It displays the result. Now saving preference using save button. I am thinking employee name(what i entered) will be saving as part of perference. Does this save criteria values? Somehow not saving it. Can anyone help me fixing this problem.
ThanksYes, I am using ADF BC viewcriteria for creating query component. Please try the sample from the below link
http://andrejusb-samples.blogspot.com/2008/11/jdevadf-sample-adf-query-component-and.html
Run the main.jspx file -> enter some criteria -> search -> then save -> give a name -> select the criteria from the dropdown.
Thanks -
Unable to load the EJB module. DeploymentContext does not contain any EJB.
I'm writing an enterprise application to familiarize myself with Glassfish 3.1.2 and EJB 3.1. I've created several local, stateless beans, and injected one into a JSF managed bean. The ejb and web modules compile fine, but when I launch the application with Glassfish I get the following startup error and the application does not deploy. I don't understand what it means, can someone ellaborate?
SEVERE: Exception while invoking class org.glassfish.ejb.startup.EjbDeployer prepare method
SEVERE: Exception while invoking class org.glassfish.javaee.full.deployment.EarDeployer prepare method
SEVERE: Exception while preparing the app
SEVERE: Unable to load the EJB module. DeploymentContext does not contain any EJB. Check the archive to ensure correct packaging for D:\Documents\NetBeansProjects\Test\dist\gfdeploy\Test\Test-war_war.
If you use EJB component annotations to define the EJB, and an ejb or web deployment descriptor is also used, please make sure that the deployment descriptor references a Java EE 5 or higher version schema, and that the metadata-complete attribute is not set to true, so the component annotations can be processed as expected
org.glassfish.deployment.common.DeploymentException: Unable to load the EJB module. DeploymentContext does not contain any EJB. Check the archive to ensure correct packaging for D:\Documents\NetBeansProjects\Test\dist\gfdeploy\Test\Test-war_war.
If you use EJB component annotations to define the EJB, and an ejb or web deployment descriptor is also used, please make sure that the deployment descriptor references a Java EE 5 or higher version schema, and that the metadata-complete attribute is not set to true, so the component annotations can be processed as expected
at org.glassfish.javaee.full.deployment.EarDeployer.prepare(EarDeployer.java:166)
at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:871)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:410)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1259)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461)
at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
at com.sun.enterprise.v3.services.impl.ContainerMapper$Hk2DispatcherCallable.call(ContainerMapper.java:354)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:722)My guess is that you deployed an ejb without bean in it. when you have an ejb module, be sure you have at least one bean present.
Are you sure you have implementend some beans? Or did you do this only in the web module?
Try adding an @Stateless bean doing nothing in you ejb module, redeploy and let me know if that works -
Webutil_demo "Bean Not found "
Hello
Please Help on this issue Please
I downloaded webutil_demo and setup the demo application as per documentation. But Still if I some errors:
At design time I can not see the webutil_canvas ( This is a reference object, So no Problem)
Next, When I run the form I got some errors
Oracle.forms.webutil.clientinfo.getclientinfo bean not found.
And
Some bean not found. I dont know.
Please Help
SelvamHello.
I have the same problem.
Is there a solution for this?
Thanks. -
Some of our applications running in our RDS environment tend to enter the Not Responding state while they're waiting for something in the background to happen (open a window, perform a calculation, etc.). When this happens we notice that the RemoteApp session
will quickly disconnect and then reconnect. This causes an issue with dialog boxes. For example, printing to PDF. A lot of time the dialog box for specifying where to save the PDF is in the background because RemoteApp disconnected and reconnected
causing the program your printing from to become the window of focus. This makes user think the program is truly not responding when in reality the dialog box is hidden and waiting for them. They then need to click the icon on the taskbar to access the
dialog window.
To my knowledge we never had this issue with Server 2008 R2. Any help with this is greatly appreciated!
ScottHi Scott,
Is the server 2012 R2?
Please confirm in the logs that a disconnect/reconnect is occurring. On the client you would look at TerminalServices-ActiveXCore and on the server side you would look at TerminalServices-LocalSessionManager.
When this happened you had a continuous ping to the server and it did not lose any pings?
Having solid pings is a good sign, but you can still have a network problem that will cause the connection to drop. You may want to update the NIC driver and firmware to the latest version recommended by your server manufacturer.
Additionally you should consider any routers/switches/etc. that are between the clients and the server as potentially suspect. For example, I have seen where a NAT router would drop a connection periodically, then the connection would be re-established
and not have issues (until the next time). One way to test would be to swap in a different make and model router/switch and see if the problem still exists.
Thanks.
-TP -
BMP question : got javax.ejb.EJBException error Object state not saved
Could anybody please help me? I could not figure out what i did wrong.
I got the javax.ejb.EJBException error: Object state not saved
when i test the getname() method for findByPrimaryKey() and findAll() methods.
Here is my code:
package org.school.idxc;
import javax.sql.*;
import javax.naming.*;
import javax.ejb.*;
import javax.sql.*;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Enumeration;
import java.util.Vector;
* Bean implementation class for Enterprise Bean: status
public class statusBean implements javax.ejb.EntityBean {
private javax.ejb.EntityContext myEntityCtx;
private int id;
private String name;
private DataSource ds;
private String dbname = "jdbc/idxc";
private Connection con;
* ejbActivate
public void ejbActivate() {
* ejbLoad
public void ejbLoad() {
System.out.println("Entering EJBLoad");
try
Integer primaryKey = (Integer) myEntityCtx.getPrimaryKey();
String sqlstmt = "select id, name from from status where id =?";
con = ds.getConnection();
PreparedStatement stmt = con.prepareStatement(sqlstmt);
stmt.setInt (1,primaryKey.intValue());
ResultSet rs = stmt.executeQuery();
if (rs.next())
this.id = rs.getInt(1);
this.name = rs.getString (2).trim();
stmt.close();
} // if
else
stmt.close();
throw new NoSuchEntityException ("Invalid id " + id);
}// else
} // try
catch (SQLException e)
System.out.println("EJBLOad : " + e.getMessage());
} // catch
finally
try
if (con != null)
con.close();
}// try
catch (SQLException e)
System.out.println("EJBLOad finally" + e.getMessage());
} // catch
}// finally
* ejbPassivate
public void ejbPassivate() {
* ejbRemove
public void ejbRemove() throws javax.ejb.RemoveException {
System.out.println ("Entering ejb Removed");
try
String sqlstmt = "delete from status where id=" + id;
con = ds.getConnection();
Statement stmt = con.createStatement();
stmt.executeUpdate(sqlstmt);
stmt.close();
}// try
catch (SQLException e)
System.out.println("Ejb Remove" + e.getMessage());
} // catch
finally
try
if (con!=null)
con.close();
}// try
catch (SQLException e)
System.out.println ("EJBRemoved " + e.getMessage());
} // catch
} // finally
* ejbStore
public void ejbStore() {
System.out.println("Entering the ejbStore");
try
String sqlstmt = "update status set id=" + id + ",name='" + name + "' where id=" + id;
con = ds.getConnection();
Statement stmt = con.createStatement();
if (stmt.executeUpdate(sqlstmt) != 1)
throw new EJBException ("Object state not saved");
stmt.close();
} // try
catch (SQLException e)
System.out.println ("EJBStore : " + e.getMessage());
}// catch
finally
try
if (con != null)
con.close();
} // try
catch(SQLException e)
System.out.println ("EJBStore finally " + e.getMessage());
} // catch
} // finally
* getEntityContext
public javax.ejb.EntityContext getEntityContext() {
return myEntityCtx;
* setEntityContext
public void setEntityContext(javax.ejb.EntityContext ctx) {
myEntityCtx = ctx;
try
InitialContext initial = new InitialContext();
ds = (DataSource)initial.lookup(dbname);
} // try
catch (NamingException e)
throw new EJBException ("set Entity context : Invalid database");
}// catch
* unsetEntityContext
public void unsetEntityContext() {
myEntityCtx = null;
* ejbCreate
public Integer ejbCreate(Integer key, String name) throws javax.ejb.CreateException {
this.id = key.intValue();
this.name = name;
System.out.println ("Entering ejbCreated!!!");
try
String sqlstmt = "insert into status(id,name) values (" + id + ",'" + (name == null ? "" : name) + "')";
con = ds.getConnection();
Statement stmt = con.createStatement();
stmt.executeUpdate(sqlstmt);
stmt.close();
}// try
catch (SQLException e)
System.out.println("EJBCreate : SQLEXception ");
}// catch
finally
try
if (con!=null)
con.close();
}// try
catch (SQLException e)
System.out.println ("EJB Created Finally : SQLException");
e.getMessage();
} // catch
}// finally
this.id = key.intValue();
this.name = name;
return key ;
* ejbPostCreate
public void ejbPostCreate(Integer id, String name) throws javax.ejb.CreateException {
* ejbFindByPrimaryKey
public Integer ejbFindByPrimaryKey(
Integer key) throws javax.ejb.FinderException {
try
String sqlstmt = "select id from status where id=" + key.intValue();
con = ds.getConnection();
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sqlstmt);
if (!rs.next())
throw new ObjectNotFoundException();
} // if
rs.close();
stmt.close();
} // try
catch (SQLException e)
System.out.println ("EJBFindBYPrimaryKey " + e.getMessage());
} // catch
finally
try
if (con!=null)
con.close();
}// try
catch (SQLException e)
System.out.println ("EJB Find by primary key" + e.getMessage());
}// catch
}// finally
return key;
* @return Returns the name.
public String getName() {
return this.name;
* @return Returns id
public int getId() {
return this.id;
* @param name The name to set.
public void setName(String xname) {
this.name = xname;
* ejbFindByLastnameContaining
public Enumeration ejbFindAllNamne () throws javax.ejb.FinderException
try
String sqlstmt = "select id from status order by id";
con = ds.getConnection();
Statement s = con.createStatement();
ResultSet rs = s.executeQuery(sqlstmt);
Vector keys = new Vector();
while (rs.next())
keys.add(new Integer(rs.getInt(1)));
}// while
rs.close();
s.close();
con.close();
return keys.elements();
} // try
catch (SQLException e)
throw new FinderException (e.toString());
} // catch
}Hi,
if you look at your error message you will see the problem. In your code you've missed to implement
public void ejbPassivate {}
so your code looks like this
import java.lang.Object;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import java.rmi.RemoteException;
import java.lang.Math;
import java.util.Random;
import java.io.*;
/** * Title: * Description: * Copyright: Copyright (c) 2001 * Company: * @author * @version 1.0 */
public class DiceEJB implements SessionBean, Serializable
public int[] Roll()
Random rng = new Random();
int[] diceArray = new int[5];
for(int i =0; i < diceArray.length;i++)
diceArray[i] = (Math.abs (rng.nextInt()) % 6) +1;
return diceArray;
public DiceEJB(){}
public void ejbCreate() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void setSessionContext (SessionContext sc)
private void writeObject(ObjectOutputStream oos) throws IOException
oos.defaultWriteObject();
private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException
ois.defaultReadObject();
bye -
EJB 3.0 Stateful - Limiting number of bean instances
Hello EJB Experts,
I have just started to learn EJB 3.0 and have some basic queries. The application server that I am using is Glassfish. Please find my queries below:
1. To remove an bean instance from the container, we can use the annotation '@Remove'. I basically had 2 methods and annotated the 2nd method with '@Remove'. Whenever the 2nd method is called, the container is removing this instance also in my program. My problem is that, i might get some invalid parameter values in the 2nd method, so in that case I have to just log the error message and whenever the input parameters are correct, then only the instance should be removed. But lets say, if someone calls my 2nd method with invalid parameters, I log the message and the container removes it, but after some time if the 2nd method is called with correct parameters, then the instance will not be available. Can we programatically tell the container when to remove a bean instance?
2. From the docs, I am clear that pooling works only for 'Stateless' beans. I however (I am using 'Statuful' bean), wanted to limit the max number of instance to 2. I did below mentioned configuration in the 'sun-ejb-jar.xml' file:
<bean-cache>
<is-cache-overflow-allowed>false</is-cache-overflow-allowed>
<cache-idle-timeout-in-seconds>1</cache-idle-timeout-in-seconds>
<max-cache-size>2</max-cache-size>
<resize-quantity>0</resize-quantity>
<removal-timeout-in-seconds>2</removal-timeout-in-seconds>
<victim-selection-policy>LRU</victim-selection-policy>
</bean-cache>
But i think, it is still creating more that 2 instances of this bean.
Please help me in getting answers to these questions. I will be very thankful for your replies.
Regards,
San
Edited by: SolarisUser1 on Jun 27, 2010 11:00 PM@Remove is used for stateful EJBs and you call it when your client has finished using that instance of the stateful EJB.
If you are passing in parameters to the method and letting it do some work with your parameters then perhaps it should not be a remove method at all. Make it a normal method and only put cleanup related logic in the remove method. You can also throw some application exception and rollback if the parameters are not correct. -
Stateful bean not failing over
I have a cluster of two servers and a Admin server. Both servers are running NT
4 sp6 and WLS6 sp1.
When I stop one of the servers, the client does n't automatically failover to
the other server, instead it fails unable to contact server that has failed.
My bean is configured to have its home clusterable and is a stateful bean. My
client holds onto the remote interface, and makes calls through this. If Server
B fails then it should automatically fail over to server A.
I have tested my multicast address and all seems to be working fine between servers,
my stateless bean work well, load balancing between servers nicely.
Does anybody have any ideas, regarding what could be causing the stateful bean
remote interface not to be providing failover info.
Also is it true that you can have only one JMS destination queue/topic per cluster..The
JMS cluster targeting doesn't work at the moment, so you need to deploy to individual
servers?
Thanks
Did you enable stateful session bean replication in the
weblogic-ejb-jar.xml?
-- Rob
Wayne Highland wrote:
>
> I have a cluster of two servers and a Admin server. Both servers are running NT
> 4 sp6 and WLS6 sp1.
> When I stop one of the servers, the client does n't automatically failover to
> the other server, instead it fails unable to contact server that has failed.
>
> My bean is configured to have its home clusterable and is a stateful bean. My
> client holds onto the remote interface, and makes calls through this. If Server
> B fails then it should automatically fail over to server A.
>
> I have tested my multicast address and all seems to be working fine between servers,
> my stateless bean work well, load balancing between servers nicely.
>
> Does anybody have any ideas, regarding what could be causing the stateful bean
> remote interface not to be providing failover info.
>
> Also is it true that you can have only one JMS destination queue/topic per cluster..The
> JMS cluster targeting doesn't work at the moment, so you need to deploy to individual
> servers?
>
> Thanks
Coming Soon: Building J2EE Applications & BEA WebLogic Server
by Michael Girdley, Rob Woollen, and Sandra Emerson
http://learnweblogic.com
-
Stateful bean storing its state.
how will a stateful session bean stores its state.?
In stateful session beans we will store the state using the instance variables used in the bean. so, that instance variables can be used between methods.In stateless session beans also we will be using the instances variables but the state will not be available. since it is valid for the one method only.
-
ReportViewer Parameter area state not saved without to refresh in ie
Hi from Germany,
we have created a master detail report with 3 levels and some parameters defined. Connected are these 3 reports by drill throughs with "go to report"-actions. We use the report manager for the navigation to the reports.
For a faster go back from a detail report to its higher level report again we added links in the header with go to url actions and the expression "javascript:history.go(-1)").
It works great but in the ie (version 10 and 11, too) there is a not wanted behavior after the user has updated the parameter values and clicked on "Show report". The report is rendered now with the changed parameters fine BUT the parameter area
is still opened.
First question: Is there a way to collapse the parameter area also with the click on "Show report"-Button?
Now users close often the parameter section and drill through to the next level report. When you go from there back (history.go(-1) or also with the browsers back-button) the report before opens but again with an displayed parameter area. It forgots that users
have collapsed it before.
2nd question: It seems that the last state with the closed parameter area was not saved (in the session?). Can someone explain me why and if there is a way to solve it?
In firefox it works like we wanted. There is the parameter area collapsed automaticly after go back in history. It seems it is realy a bug in the ie.
I have found out a workaround:
when you close the parameter area in ie and click after it on the refresh-button on the reportviewer-toolbar then the collapsed state is registered and go back to this report opens it right with collapsed parameters. Also a refresh by the browser-button opens
the report with collapsed parameters.
It seems for me it is a bug, isn't it?
Kind regards
René
RenéHi René,
If I understand correctly, you want to hide the parameter area when the report render in report server. I have create a simple report to test, however, I cannot reproduce the same issue.
Based on my test, it has two situation when we go to subreport the parameter area cannot hide.
If we are use “Go to URL” action jump to the subreport, it will not hide the parameter area.
We have not pass the parameter value to the subreport, it will display the parameter area for us to choose parameter value.
If you are not above situation, we can use “Go to URL”
action to work around it. To add parameter (rc:Parameters, rc:Toolbar) in report URL to control the parameter area visibility. Please refer to the following URL:
Http://ServerName/ReportServer/Pages/ReportViewer.aspx? %2fReportFolder%2fReportName&rs:Command=Render&rc:Parameters=Collapsed
Reference:
http://blogs.msdn.com/b/jgalla/archive/2009/03/23/hiding-parameter-area-when-viewing-reports.aspx?Redirected=true
If there are any misunderstanding, please elaborate the issue for further investigation.
Regards,
Alisa Tang
Alisa Tang
TechNet Community Support -
JCO RFC Provider: "Bean not found" when calling EJB from ABAP via RFC
Hello,
I'm having trouble calling an EJB in a CE 7.1 system from ABAP via RFC. I'm trying to use the JCO RFC Provider service, which mean that I want to expose an EJB so that it can be called via Remote Function Call.
I have documented everything, including the code and the deployment descriptors I wrote, in this thread in the CE forum: Jco RFC Provider: Bean not found
If there's any chance you can help, please do me a favour and look into the problem.
Thanks a lot!
ThorstenHi Vladimir,
Thank you very much, your help was immensely valuable.
I just had to add the function declaration to the Home Component interface, everything else was correct, and now it works.
Cheers,
Thorsten -
Saved state is not backuped in HyperV backup for Win2012R2
I am trying to backup Win2012 R2 VM on my Win2012 R2 hyperv host using VSS.
Before starting backup my vm is in Saved status.
But after backup I cant find saved state file *vsv and *bin file in the backup so I am loosing whatever contains I have in saved state.
Its working fine on Win2008. Is there any change in VSS/Saved state behavior in Win2012R2?
hypervbackup is the utility I used to run backup.
Thanks In advance. Please let me know if more details are required.Hi Sir,
According to your description , one thing came into my mind .
In 2008/R2 , to backup VM online the hyper-v vss writer must be registered , if not , the VM will run into saved state untill accomplishing the backup .
http://blogs.technet.com/b/askcore/archive/2008/08/20/how-to-enable-windows-server-backup-support-for-the-hyper-v-vss-writer.aspx
If you are in that case ( hyper-v VSS writer was not registered in 2008/R2 ) , actually the backup will perform a file based backup , it will keep the VSV file there .
If you do same backup in 2012 R2 (select VM's folder then backup) , the VSV file should be backed up .
In 2012/R2 you do not to manually register vss writer , you just need to select VM and backup .
Best Regards,
Elton Ji
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact [email protected] . -
Lightroom is not saving metadata. I have done several things to save and I still get the tag that states is is not saved. I have also created 2 smart collections. One showing metadata has been changed and one showing metadata is not up to date. No matter what I do it is not showing in LR that it is saved. I spent 2 days with Seth Resnick trying to correct this and we re created my catalog. It was ok, until I imported new images and same problem. Now I have a new problem, when I bring image to PS it saves it but does not bring back to LR. Am I the only one out there who has this problem?
See:
How to use multiple iPods, iPads, or iPhones with one computer
What is the best way to manage multiple...: Apple Support Communities -
Save point with POJO DataControl not saving model state
Hi Guys,
JDEV 11.1.1.6 64bit
I was able to get save points working with ADF BC (AppMod, View & Entity objects)
but when I tried to do the exact same with Pojo DataControls, I won't save
the current state of the model - meaning things are not "selected" to the
proper record when the SP is restored. I don't get any errors, it just
shows the wrong data.
Example:
The BTF is marked as must have transaction(tried either way), but this is Pojo, and doesn't support Trx.
edit-emp-dept.jspx (with BTF Region)
BTF START
STEP 1: RichTable with bindings to Pojo DataControl (value="#{bindings.allDepts.collectionModel}")
(user selects the 3 record => sales department)
STEP 2: Edit Sales Dept & on click to next step create SP
STEP 3: View Emps (Rich Table of ALL emps in that DEPT)
STEP 4: Edit Emp
FINAL: COMMIT (save to pojo list) or CANCEL (don't save to pojo list)
/BTF END
At STEP 1 -> STEP 2, the SP is created, and when I close the browser at STEP2, 3 or 4, and
restart, and choose SP to restore, it takes me to proper page (STEP 2) but the wrong Department is
selected to edit (it shows "Finance" instead of "Sales") & if I hit my ADF back button, it shows
the table with "finance" selected. In the ADF BC world it works perfectly.
I know the docs say: the ADF Model is saved, so the question is why bindings.allDepts.collectionModel
not "saved" here for Pojo DC and the ADF BC af:table value="#{bindings.DepartmentsView1.collectionModel}"
it is "saved".
Thanks for any insight or work-around.
Sincerely,
Joel
edit-emp-dept.jspx:
<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
<jsp:directive.page contentType="text/html;charset=UTF-8"/>
<f:view>
<af:document id="d1">
<af:form id="f1">
<af:region value="#{bindings.btfpojodc1.regionModel}" id="r1"/>
</af:form>
</af:document>
</f:view>
</jsp:root>Hi,
the problem with POJO DC and other non-ADF BC models is that they don't passivate their state. In JDeveloper 12c we allow developers to extend their POJO classes with ADF lifecycle methods that allows them to save the model state themselves. Its a known issue that the transaction state cannot be saved for non-ADF BC models. I checked the bug database for bugs filed against this behavior but could not find one- I can imagine that with 12c we would have a chance to allow developers to handle passivation / activation for non-ADF BC model states. So if this is a feature you need then filing an enhancement request would make sense
Frank
Maybe you are looking for
-
First steps problems - instalation goes all wrong
Hi, I just bought a adobe creative and, when I tried to install it, it came with error code 205 (I google it, and the adobe forum said it was a corrupt file problem). i tried again in another brownser, but now, it wont recognize my accout. The way it
-
hi im using combo in my matrix how to load data from database table to column(ocombo) of the matrix plz help me Edited by: hareeshKR on Jul 18, 2011 12:37 PM Edited by: hareeshKR on Jul 18, 2011 1:15 PM
-
Premiere Elements Video Import Issue
I am having issues importing a .mp4 video file. Working on Windows 7 64 bit laptop. File is 6GB on lexar usb removable device plugged into usb 2.0. Add media from device, get no valid data Add from folder, navigate and select folder, tells me to impo
-
HI All, I have query below select * FROM T_SALES WHERE ID = 1000 and 1=1 and AND (CASE WHEN (TRUNC(effective_to_date) >= (trunc(to_date('01-MAR-13','DD-MON-YY')) -1)) THEN (TRUNC(effective_to_date) = (trunc(to_date('01-MAR-13','DD-MON-YY')) -1)) END)
-
Hi, I have a MSI r9 280x so I have been playing quite a few games, I used msi afterburner to see the temps in game, and here's what I got, at idle on windows screen the temps were 41degrees to 44degrees, in game it was upto 98 degrees, (the games wer