问题标签 [j2ep]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1326 浏览

apache - 使用 Tomcats(在 apache-tomcat 集群中)作为后面的 apache 服务器的反向代理

我正在编写一个小型 Web 服务(如内容服务器)来搜索和提供内容。基本上它有 2 个部分 - 一个动态部分执行客户端身份验证并提供对内容的搜索功能。第二部分涉及向经过身份验证的客户端提供静态内容。

就性能和可扩展性而言,上述服务的良好架构是什么?

  1. 只是使用应用程序服务器(tomcat)来做这两个?
  2. 但后来我听说 apache 更擅长提供具有简单可配置选项(如压缩内容)的静态内容。那么如何使用 Tomcat 作为反向代理(使用 j2ep,noodle ..)到后面的 apache Web 服务器。Tomcat 可以进行身份​​验证和搜索,而后面的 apache 服务器可以提供内容。
  3. 但 Tomcat 作为单点接触,可能会成为性能瓶颈。那么为什么不再次使用 apache tomcat 集群来平衡整个设置的负载呢?

基本上,我正在查看一个 apache-tomcat 集群,其中每个 tomcat 都充当后面一组 apache 服务器的反向代理。这个设置可以吗?有没有人这样做过?我确实对此进行了搜索,但找不到任何指针。如果可能的话,这种架构是否有任何潜在的缺点?

如果这是一个不好的选择,那么该 Web 服务的正确方法是什么?

0 投票
1 回答
544 浏览

java - 当我尝试使用反向代理时,J2EP 给出“NullPointerException”

我在网站上使用 J2EP(其 1.0 稳定版本)作为反向代理服务器。首先我安装了 Apache Tomcat 来部署项目,然后我做了反向代理的配置。另外,服务器不支持“isRewriting = true”,所以我不得不使用“RoundRobinCluster”。

例如; 如果我用这样的表达方式,

并转到:http://localhost:8080/test

没有页面出现,这导致我使用“RoundRobinCluster”,即;

并转到:http://localhost:8080/test

这次我面对这样的错误;

java.lang.NullPointerException

net.sf.j2ep.ServerChain.evaluate(ServerChain.java:104) net.sf.j2ep.RewriteFilter.doFilter(RewriteFilter.java:75)

我没想到稳定版本会出现这样的错误。或者我可能错过了一些东西,任何帮助都会很好。

谢谢

0 投票
1 回答
112 浏览

java - 在另一个实体之后持久化一个实体~Netbeans、J2E、bean、EntityManager

我正在使用 Java EE、Glassfish 和 Netbeans 进行软件工程项目,但由于缺乏 Java 经验而遇到问题。

我正在开发一个网站,为用户提供创建一些活动的可能性。

我能够将event有关事件的信息(ID、名称、地点、日期、创建者)保存在一个表中,现在问题是填充另一个表calendar。在此表中只有 3 个属性:ID(自动和顺序生成)、创建者电子邮件和事件 ID。这个calendar表的目的是收集所有的用户事件:一个事件不仅可以耦合到它的创建者,还可以耦合到其他被邀请的用户。

当我尝试使表中的数据持久化时,calendar我得到了一个NullPointerException,因为在event表中 ID 是自动生成的,我认为当我调用该getEventID方法时,这个值仍然是null.

如何激活一个CalendarManager只需获取事件的创建者ID并将它们写入calendar表中的事件?

我希望我很清楚,这里有一些文件:

EventManager工作正常:

很好,CalendarEventsManager但没有收到正确的参数:

下面是用户单击“创建事件”时激活的 Bean 中的关键部分:

直到em.saveEvent(event)一切正常并且数据库正确更新,但问题是当我这样做时eventid = getID()getID在课堂上是公开的Event并且是正确的)。系统无法读取 ID,因为它没有从刚刚更新的数据库中读取。

这里有事件类:

你有一些想法来解决这个问题吗?我已经阅读了@PostPersist注释,但我不知道如何正确应用它:(

感谢所有愿意帮助我的人的建议:D

EDIT1:错误可能在 saveEvent() 中的这段代码中:

我已将 system.out.println 用于验证该值,但错误出现在“this.calendarevents”中,因为没有 system.out 的迹象!这里有完整的 Bean!

我真的没有发现“this.calendarevents.setEventId(eventid);”中的错误 那是第 80 行,错误是: 引起:警告:#{createBean.saveEvent()}:java.lang.NullPointerException javax.faces.FacesException:#{createBean.saveEvent()}:java.lang.NullPointerException [引起:java.lang.NullPointerException at it.nyquistmeteocal.beans.CreateEventBean.saveEvent(CreateEventBean.java:80)]

这是 CalendarEvents 类: