GlassFish域中JSF管理的Bean唯一性

GlassFish域中JSF管理的Bean唯一性,jsf,jakarta-ee,glassfish,ear,Jsf,Jakarta Ee,Glassfish,Ear,如果我在GlassFish域的一个应用程序EAR中部署@ManagedBean或CDI@命名JSF支持bean,然后在同一GlassFish域的不同应用程序EAR中部署相同的托管或命名bean,这会导致冲突或任何问题吗? 例如,我有一个LoginController类,该类注册为托管或命名bean,用于登录到不同的应用程序。我还有一些其他常见的水平实用程序,它们注册为托管或命名bean,我希望在部署为不同EAR的不同应用程序之间重用,这些EAR可能部署到同一GlassFish域或服务器,也可能不

如果我在GlassFish域的一个应用程序EAR中部署@ManagedBean或CDI@命名JSF支持bean,然后在同一GlassFish域的不同应用程序EAR中部署相同的托管或命名bean,这会导致冲突或任何问题吗? 例如,我有一个LoginController类,该类注册为托管或命名bean,用于登录到不同的应用程序。我还有一些其他常见的水平实用程序,它们注册为托管或命名bean,我希望在部署为不同EAR的不同应用程序之间重用,这些EAR可能部署到同一GlassFish域或服务器,也可能不部署到同一GlassFish域或服务器。 我已经实现了这一点,我想知道相对于GlassFish域和跨应用程序/EAR的托管或命名bean的范围。
在JEE和GlassFish中实现这一点的最佳方法是什么?

每个应用程序都创建自己的CDI上下文。

这意味着应用程序不使用服务器上其他应用程序的上下文

因此,您可以使用相同的名称而不会出现任何问题


您可以将上下文想象为一个包含对象的大地图,其中每个应用程序都有自己的地图。

每个应用程序都创建自己的CDI上下文。

这意味着应用程序不使用服务器上其他应用程序的上下文

因此,您可以使用相同的名称而不会出现任何问题


您可以将上下文想象成一个包含对象的大映射,其中每个应用程序都有自己的映射。

旁注:JSF托管bean已被弃用(从JSF 2.3开始)。相反,你应该使用CDI@Named beans,你试过了吗?应该没那么难吧,汉克斯·安德奎伯特。我已经将剩余的ManagedBean注释转换为CDI命名的bean,但是关于GlassFish环境中JSF支持bean的范围的基本问题还没有得到回答。@Kukeltje我已经实现了,但很难判断出现的问题是否是由于这种类型的冲突或重用组件实现中的其他问题造成的,因此我正在寻找一个明确的答案。旁注:JSF托管bean已被弃用(从JSF 2.3开始)。相反,你应该使用CDI@Named beans,你试过了吗?应该没那么难吧,汉克斯·安德奎伯特。我已经将剩余的ManagedBean注释转换为CDI命名的bean,但是关于GlassFish环境中JSF支持bean的范围的基本问题还没有得到回答。@Kukeltje我已经实现了,但是很难判断出现的问题是否是由于这种类型的冲突或重用组件实现中的其他问题造成的,因此我正在寻找一个明确的答案。这也是我的理解。你知道@milkmaid吗?@Chris这应该能回答你所有的问题:这也是我的理解。您是否知道@milkmaid@Chris在JEE文档中明确记录了这一点?这应该可以回答您的所有问题: