问题标签 [objectfactory]
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.
nservicebus - NServiceBus:无法设置键的值:NServiceBus.Transport.ConnectionString
我正在开发的应用程序使用 NServiceBus 作为消息传递总线来执行某些操作。在我的 AppStartup 中,我正在尝试将 NServiceBus 配置为使用自定义单播配置,该配置运行成功。但是,当我使用此代码调用我的配置时:
我得到这个例外:
无法设置键的值:NServiceBus.Transport.ConnectionString。设置已被锁定以进行修改。请在配置管道中更早地移动任何配置代码
这是异常的堆栈跟踪(省略了机密部分):
需要明确的是:这是在客户端,而不是在 NServiceBus 的实际总线端。进行此设置是为了能够将消息发送到 NServiceBus 队列,该队列已经与另一个应用程序正常工作。我还确认此应用程序的配置与其他应用程序相同。
我能得到的任何帮助都会很棒:)
python - 用于接口的 Jython 库
我正在通过本 Jython
指南制作一个一对一的Jython
对象工厂。
作者谈到了org.jython.book.interfaces
他在整个教程中使用的一个。
为了使用这种技术来利用 Jython 模块,您必须确保 .py 模块包含在您的 sys.path 中,或者在您的 Java 代码中硬编码模块的路径。实现 Java 接口以创建建筑对象的 python 模块
我已经导入jython.jar
了我能找到的所有内容,但库的这一部分不存在。在他的教程中,他创建了building.py
、buildingType.java
和buildingFactory.java
.
这是我的代码,应用程序命中并无法继续运行:
这是它在“运行”后遇到的文件所在的行:
我已经制作了这些版本,但我收到我的模块不存在的错误。我确定这是因为我没有导入接口,因为我在库中找不到正确的模块。
有什么想法吗?
(我也意识到另一位发帖人对教程中的这个确切步骤有类似的问题,但这个问题不同,其他发帖人的回答没有回答我的问题。所以请不要标记为重复。)
binding - 有没有办法创建一个返回 JAXBElemen 的附加 ObjectFactory 方法
我有一个 jaxb 创建的类,即(逻辑上)没有用 注释@XMLRootElement
,因为它是一个子节点。在一种特殊情况下,我想通过使用JAXBElement
-Wrapper 来(取消)编组这个单个节点。
可以强制jaxb<jxb:globalBindings generateElementProperty="true" />
创建返回JAXBElement
's 的 ObjectFactory 方法。
我希望 jaxb 不要以这种方式创建所有方法,而是在其他方法上创建它。
PS:我使用 ant/xjc 来创建这些类。该绑定来自 xjc 使用的绑定文件。
angularjs - AngularFire ObjectFactory 子对象导致循环依赖
使用 AngularFire,我正在扩展对象工厂,以便封装数据并允许特定功能,如官方教程中所述。我有一个如下的数据结构:
现在我希望能够做到这一点:
但这对我来说在很多层面上都失败了。其中之一是:在文章中,我只能存储评论 ID,因此必须使用 new Comment(commentId) 重新创建评论对象,为此我需要将评论注入文章。评论也是如此,所以我最终得到了一个循环依赖文章 -> 评论 -> 文章。以下小提琴显示了该行为:http: //jsfiddle.net/michaschwab/v0qzdgtq/。
我究竟做错了什么?这对角度来说是一个糟糕的概念/结构吗?谢谢!!
java - 将自定义 ObjectFactory 与 JAXB 一起使用:是否存在已建立的“转到”模式?
我知道在ObjectFactory
使用 JAXB 时通常会自动生成,因为可能首先定义模式和 XML。但是,这不是我可以处理该项目的方式。
我有现有的代码,需要对其进行注释和扩展以使用 JAXB,然后将其与 REST 服务结合使用。我只有少数几个类,并且已经对它们进行了注释。据我了解文档(我是 JAXB 的新手),我需要ObjectFactory
通过包实现包级别的自动调用,或者直接引用而不是包上下文引用时的多个实现。
我有点不确定最好的方法是什么。如果我要对每个包使用一个实现,那么管理器将相当抽象,实例化许多类。但是,我不确定这是“正确”的做法。我个人会选择将实例化的关注点分离到 的单独实例中ObjectFactory
,即每个类有一个工厂。因此,我将实现类似于数据访问对象模式的东西。
我的工程背景告诉我,关注点分离和选择扩展而不是修改将是更好的选择。因此,我的直觉告诉我,ObjectFactory
只有当从 XML 而不是代码开始的方法产生结果时才会使用单体。然而,我没有足够的经验来做出明智的选择。
我不仅想问您在技术和建议方面的经验(这将基于意见),而且还想问这种方法是否会引入我遗漏的任何风险以及我可能遇到的有关 JAXB 的技术限制,如果我追求我的行动方针。谢谢!
java - 我们可以在解组期间在运行时决定 jaxb 类吗?
有什么方法可以在运行时决定我想将 XML 解组到哪个 java 类中?
我尝试以这种方式解组代码 -
但得到这个错误 -
dependency-injection - MVC5 中的结构图
我在 MVC5 中使用结构图 3.1.2.138。在我的 IoC 类中,我正在尝试使用 Objectfactory,但它指出 Objectfactory 已过时,我应该使用 Container,但我找不到使这项工作的方法。
}
谁能给我一个如何将其转换为容器方式的示例?
java - 带有 Class参数的 ObjectFactory
我正在开发一个工厂,它可以通过使用 Class 参数来实例化 Ability 类型的对象。这个工厂的代码是:
客户端代码是这样的:
我认为这个设计的唯一问题是 Ability 类是抽象的,你可以传递这样的东西:
这导致java.lang.InstantiationException。
我想知道我是否可以做一些约束,比如“?扩展能力而不是能力”,或者这只是一个糟糕的设计,我应该将例如 Enum 作为参数传递给工厂的方法来防止这种情况。
xslt - 使用 JDK 内部 Xalan 和 SecurityManager 从 XSL 样式表内部加载外部 Java 方法
在我们的项目中,我们目前迁移到 Java 8 并希望现在使用内部 XML 库而不是其他库。为此,我们从类路径中删除了例如 xalan.jar。
这会在尝试呈现我们的 XML 文件时导致 ClassNotFoundExceptions。在我们用来转换 XML 文件的 XSL 样式表中,我们还调用外部 Java 方法,如下例所示:
但是,总是在testMethod()
应该调用外部方法时,进程会因 ClassNotFoundException 而停止。我调试了com.sun.org.apache.xalan.internal.xsltc.compiler.FunctionCall
类中的代码,发现 XSLTC 试图实例my.package.name.JavaClass
化testMethod()
. 没关系。但...
尝试在以下代码中实例化/加载该类com.sun.org.apache.xalan.internal.utils.ObjectFactory
:
进一步调用findClassLoader()
以获取正确的类加载器来加载我的JavaClass
:
现在在我们的项目中,我们遇到了一个“问题”,即我们有一个 SecurityManager 实现,这意味着上面的这个实现只是返回null
而不是上下文类加载器。
顺便说一句:我也希望在这里获得上下文类加载器,但是如果 SecurityManager 允许加载一个类,那么稍后会进行额外的检查,为什么它在这里只返回 null 呢?
这再次意味着我的类被尝试使用不知道我的类并因此引发异常的引导类加载器加载。删除 SecurityManager 会返回能够加载我的类的上下文类加载器,并且可以成功转换 XML。
所以——如果你还在这里睡着了——有没有办法在 XSL 样式表中仍然使用我的外部 Java 方法?在这种情况下有没有办法加载我的课程?我想过以下可能的解决方案,但它们都不能真正让我满意:
- 修补 ObjectFactory,删除或扩展对 SecurityManager 的检查,并将其放在我的应用程序的引导类路径中,它在原始应用程序之前加载(肮脏的黑客)
- 删除 SecurityManager (现在或多或少是一个虚拟实现,但这不是永久解决方案)
- 将 Java 方法编写为 XSL 中的扩展函数(不确定这是否适用于我们拥有的所有方法,并且会非常耗时且容易出错;我也不确定这是否真的解决了问题)
通过以下方式使用反射在 XSL 中创建我的 JavaClass 的实例:
但是,最后一种方法也不起作用,因为该类也使用 AppClassLoader 加载,并且在解析过程中也可能不可用。但也许有类似的解决方案?
提前致谢。
最好的问候,延斯