EJB 无状态 bean 只能 return 值,不能打印

EJB stateless bean can only return value, cannot print

我尝试实现一个远程无状态 bean。对于此 bean 中的方法,可以正确 return 编辑 return 值。但是,这些方法中的 "println" 无法将任何内容打印到控制台。 接口是

public interface HelloWorld {
    public void SayHelloWorld(String name); 
    public String SayHello(String name);
}

实现是

@Stateless
@Remote(HelloWorld.class)
public class HelloWorldBean implements HelloWorld {

    @Override
    public void SayHelloWorld(String name) {
        System.out.println(name + " say hello to the world!");
    }

    @Override
    public String SayHello(String nameString) {
        System.out.println("This is SayHello()");
        return nameString;
    }

}

客户是

public class HelloWorldTest {

    public static void main(String[] args) {

        try {
            FileInputStream inputStream = new FileInputStream("ejb.properties");
            Properties pro = new Properties();
            pro.load(inputStream);
            InitialContext icContext = new InitialContext(pro);
            HelloWorld hw = (HelloWorld) icContext.lookup("ejb/HelloWorldBean!com.ejbinterface.HelloWorld");
            hw.SayHelloWorld("tom");
            String aa = hw.SayHello("tom");
            System.out.println(aa);
        } catch (NamingException e) {
        e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

不知道为什么方法"SayHelloWorld"和"SayHello"中的println没有执行。但是,变量 "aa"(在客户端中)正确地获得了 return 值。

它打印到服务器的控制台(或者,如果重定向,打印到某个日志文件 - 但这只是一个配置问题)。只要寻找输出,如果方法被执行,那么输出就在那里。