sessionbean发布到到jboss上,用jsp显示 bean的输出结果正常,修改bean的输出结果,再次发布bean到jboss上成功,刷新jsp页面,但依旧显示的是没修改前的结果,请问在不重新启动jboss的前提下,如何实现jsp页面显示bean修改后的输出结果?先谢了!!

解决方案 »

  1.   

    事务提交了吗?不要自动提交 手动提交
    Connection con = null;
    con.setAutoCommit(false);//不要自动提交 
    ...数据操作完成后
    con.commit();
      

  2.   

    是不是你修改后没有刷新session中bean啊 这样取还是拿原来保存在session中未修改的bean
      

  3.   

    你看看session中的值修改了没啊!
      

  4.   

    “修改bean的输出结果”是何意,何方式,
      

  5.   

    举个例子:
    public interface I_sample {
    String visitor(String name);}import javax.ejb.Local;
    import javax.ejb.Remote;
    import javax.ejb.Stateful;@Local({HelloWorld.class})
    @Remote({HelloWorld.class})
    @Stateful
    public class Sample implements I_sample { public String visitor(String name) {
    // TODO Auto-generated method stub
    return name + ":前来报道!";
    }}
    以上是个有态的ejb的sessionbean,发布到jboss的ejb容器中,bean的输出结果为 name + ":前来报道!";
    tomcate的jsp调用:
    Properties props = new Properties();
    props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory"); 
    props.setProperty("java.naming.provider.url", "localhost:1099");
    props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");
    InitialContext ctx;
    try {
    ctx = new InitialContext(props);
    I_Sample mySample = (I_Sample) ctx.lookup("Sample/remote");
    out.println(mySample.visitor("黄飞鸿"));
    } catch (NamingException e) {
    out.println(e.getMessage());
    }
    输出结果:黄飞鸿前来报道!现在的问题是我修改sample类的输出结果,比如把‘前来报道‘改成‘前来拜师‘,发布sample成功,但刷新叶面还是‘前来报道‘;只有重新启动jboss才能刷出修改后的结果!
      

  6.   

    纠正一下
    @Local({HelloWorld.class}) 
    @Remote({HelloWorld.class}) 
     应为:
    @Local({I_sample.class}) 
    @Remote({I_sample.class}) 
      

  7.   

    很让人麻的问题,一般都是调试会用到,呵呵;
    问下,你是不是把EJB的项目接口打包,然后放到tomcate的jsp项目下的;
    这样的话,EJB端的变化是传递不到tomcate的jsp项目的;
    告诉一个方法,加入EJB项目,右键tomcate的jsp项目的属性->java build path ->projects ,然后add增加EJB项目就可以了;
    以后EJB项目便会传递到tomcate的jsp项目里了
      

  8.   

    查看部署的项目目录下对应的文件,
    如果不是改动后的文件,那就是同步的问题,没用过jboss,一般开发工具有更新项目文件的按纽,
    如果是改动后的文件,那就是jboss设置问题,比如楼上有人说的缓存,这个方向google下,
      

  9.   

    先把工程REMOVE,再部署就可以了啊,EJB就是这样啊,没办法啊