XAgent importPackage 与 none 范围内的托管 bean
XAgent importPackage vs. managed bean in none scope
您在 XAgent
中 运行 应用程序(业务)逻辑的首选方式是什么?
XAgent 使用 importPackage:
XAgent
importPackage(com.test.model.configuration);
FolderConfiguration.updateFolders(
facesContext.getExternalContext().getRequest().getReader());
XAgent 在 none 范围内使用托管 bean:
面孔-config.xml
<managed-bean>
<managed-bean-name>folderConfig</managed-bean-name>
<managed-bean-class>com.test.model.configuration.FolderConfiguration
</managed-bean-class>
<managed-bean-scope>none</managed-bean-scope>
</managed-bean
XAgent
folderConfig.updateFolders(
facesContext.getExternalContext().getRequest().getReader());
我不确定两者的优缺点。
感谢任何提示。
两个版本在 运行 时间性能上不会有显着差异。
所以,更多的是代码设计的问题。
托管 bean 的优点:
- Java class引用定义在中心位置
如果稍后更改 Java 包,则必须更改托管 bean
仅定义
- Java脚本代码更短
importPackage 的优点:
- Java class 的使用独立于外部托管 bean 设置
- Java class 如果只调用静态方法就不需要实例化
如果您在多个 XPage 或自定义控件上使用此 Java class,我会选择托管 bean 版本。否则我会使用 importPackage 或直接调用
com.test.model.configuration.FolderConfiguration.updateFolders(...)
您在 XAgent
中 运行 应用程序(业务)逻辑的首选方式是什么?
XAgent 使用 importPackage:
XAgent
importPackage(com.test.model.configuration);
FolderConfiguration.updateFolders(
facesContext.getExternalContext().getRequest().getReader());
XAgent 在 none 范围内使用托管 bean:
面孔-config.xml
<managed-bean>
<managed-bean-name>folderConfig</managed-bean-name>
<managed-bean-class>com.test.model.configuration.FolderConfiguration
</managed-bean-class>
<managed-bean-scope>none</managed-bean-scope>
</managed-bean
XAgent
folderConfig.updateFolders(
facesContext.getExternalContext().getRequest().getReader());
我不确定两者的优缺点。
感谢任何提示。
两个版本在 运行 时间性能上不会有显着差异。
所以,更多的是代码设计的问题。
托管 bean 的优点:
- Java class引用定义在中心位置
如果稍后更改 Java 包,则必须更改托管 bean 仅定义 - Java脚本代码更短
importPackage 的优点:
- Java class 的使用独立于外部托管 bean 设置
- Java class 如果只调用静态方法就不需要实例化
如果您在多个 XPage 或自定义控件上使用此 Java class,我会选择托管 bean 版本。否则我会使用 importPackage 或直接调用
com.test.model.configuration.FolderConfiguration.updateFolders(...)