- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在这里问过类似的问题:Best way to interact with EJBs in Java EE反响很好,但我仍然没有得到我想要的结果。即使我添加了 @PostConstruct 注释并将主类转换为托管 bean 以便我可以使用注入(inject),EJB 仍然没有被调用。我想我已经很接近了,但我仍然没有掌握 Java EE 和 EJB 涉及的一些基本概念。我想我可能必须使用某种计时器事件才能完成这项工作。
同样,我的问题是我希望此类在运行时至少执行一次。它从 URL 获取 twitter feed 结果,将内容解析到数组中,然后将第一个值添加到数据库中。数据库管理是通过另一个 EJB 完成的,因此我必须使用某种注入(inject)来访问此类。最初,我创建了一个 main 方法来测试代码,但我收到了 Null 引用异常,因为我试图从常规 java 类注入(inject)并调用 EJB 的方法。
这是我的带有托管 bean 和 PostConstruct 注释的新代码:
@ManagedBean
public class Driver {
@EJB RSSbean rssbean;
@PostConstruct
public void initURL() throws IOException, JSONException{
System.setProperty("http.proxyHost", "proxya..com");
System.setProperty("http.proxyPort", "8080");
/////////////auth code///////////////auth code/////////////////
String username = System.getProperty("proxy.authentication.username");
String password = System.getProperty("proxy.authentication.password");
if (username == null)
{
Authenticator.setDefault(new ProxyAuthenticator("s", "w"));
}
///////////////end auth code/////////////////////////////////end
URL twitterSource = new URL("http://search.twitter.com/search.json?q=news");
ByteArrayOutputStream urlOutputStream = new ByteArrayOutputStream();
IOUtils.copy(twitterSource.openStream(), urlOutputStream);
String urlContents = urlOutputStream.toString();
JSONObject thisobject = new JSONObject(urlContents);
JSONArray names = thisobject.names();
JSONArray asArray = thisobject.toJSONArray(names);
JSONArray resultsArray = thisobject.getJSONArray("results");
JSONObject(urlContents.trim());
JSONObject jsonObject = resultsArray.getJSONObject(0);
String twitterText = jsonObject.getString("text");
System.out.println("Calling rssbean from Driver");
**rssbean.updateDatabase("twitterText");**
}}
rssbean.updateDatabase 的底线是需要执行哪些更新才能持久保存到数据库中。
最佳答案
您必须添加@Stateless
或@Stateful
(取决于您的使用/需要),然后删除@ManagedBean
。如果您将其设置为 @Stateful,请务必也实现 Serializeable 接口(interface)。
关于java - EJB从未被调用,不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8478204/
背景 我最近在 merge 期间遇到了一个意外未 merge 的文档文件的问题。 无论出于何种原因,我搞砸了 merge 并有效地删除了文件(和其他几个文件),因为我忘记了它们的存在。 现在我想查看我
我在我的网站上使用旧的 mysql 版本和 php 版本 4。 我的表结构: | orders_status_history_id | orders_id | orders_status_id |
我是一名优秀的程序员,十分优秀!