小编рüф*_*ффп的帖子

使用JAX-RS/Jersey和Freemarker模板

网上有一些例子展示了如何使用JAX-RS实现Jersey以及FreeMarker等自定义模板引擎.但这些例子看起来有点即兴过时.还有一个例子仅依赖于JAX-RS而不是Jersey特定类.ViewProcessorFreeMarker 是否有成熟的实现,还是我必须自己编写?

java templates freemarker jax-rs jersey

9
推荐指数
1
解决办法
2867
查看次数

Camel - 扩展Java DSL?

我的路线中有一个重复的模式 - 每次调用时,某个处理器需要相同的3个Header设置,所以我的路由中有以下代码大约10次以上:

.whatever()
.setHeader("foo1", "bar1")
.setHeader("foo2", "bar2")
.setHeader("foo3", "bar3")
.processRef("processorBazThatNeedsHeaders")
.whatever()
Run Code Online (Sandbox Code Playgroud)

每次都会以不同的方式填充标题,因此将其抽象为子路径并不能真正为我买任何东西.

我喜欢能够做的是将RouteDefinition子类化为在我的DSL中使用另一种方法来允许我这样做:

.whatever()
.bazProcessor("bar1", "bar2", "bar3")
.whatever()
Run Code Online (Sandbox Code Playgroud)

在'bazProcessor'中,设置标题并调用处理器.

我试图做到这一点,但似乎只有一些严重的可能不会用于未来的手术,并且似乎其他人也有类似的运气.

我需要将它们设置为标题,而不是将它们作为参数直接传递给处理器,因为这些值也在处理器之后用于路由.

是否有一些隐藏的设施来实现这样的目标?

apache-camel

9
推荐指数
1
解决办法
1972
查看次数

Spring MVC中的下拉值绑定

我是Spring MVC的新手.我正在编写一个使用Spring,Spring MVC和JPA/Hibernate的应用程序我不知道如何让Spring MVC设置一个从下拉到模型对象的值.我可以想象这是一个非常常见的场景

这是代码:

Invoice.java

@Entity
public class Invoice{    
    @Id
    @GeneratedValue
    private Integer id;

    private double amount;

    @ManyToOne(targetEntity=Customer.class, fetch=FetchType.EAGER)
    private Customer customer;

    //Getters and setters
}
Run Code Online (Sandbox Code Playgroud)

Customer.java

@Entity
public class Customer {
    @Id
    @GeneratedValue
    private Integer id;

    private String name;
    private String address;
    private String phoneNumber;

    //Getters and setters
}
Run Code Online (Sandbox Code Playgroud)

invoice.jsp

<form:form method="post" action="add" commandName="invoice">
    <form:label path="amount">amount</form:label>
    <form:input path="amount" />
    <form:label path="customer">Customer</form:label>
    <form:select path="customer" items="${customers}" required="true" itemLabel="name" itemValue="id"/>                
    <input type="submit" value="Add Invoice"/>
</form:form>
Run Code Online (Sandbox Code Playgroud)

InvoiceController.java

@Controller
public class InvoiceController { …
Run Code Online (Sandbox Code Playgroud)

spring-mvc

9
推荐指数
1
解决办法
5992
查看次数

Sql组合从单个表到单个表

我有一个看起来像这样的表:

表提取物

    Owner   | Attribute | value
----------------------------------------------------
    10      | COLOR     | BLUE
    10      | COLOR     | RED
    10      | COLOR     | GREEN
    10      | SIZE      | BIG
    20      | COLOR     | GREEN
    20      | SIZE      | MEDIUM
    20      | MEMORY    | 16G
    20      | MEMORY    | 32G
    30      | COLOR     | RED
    30      | COLOR     | BLUE
    30      | MEMORY    | 64G
Run Code Online (Sandbox Code Playgroud)

是否有一个SQL将使用单个索引计算所有属性的组合(结果中的最后一列):

Owner   | Attribute | Value | Rule_No
10      | COLOR     | BLUE  | 1
10      | …
Run Code Online (Sandbox Code Playgroud)

mysql sql

9
推荐指数
1
解决办法
728
查看次数

我如何集群ServiceMix?

我正在寻找一些关于如何集群ServiceMix解决方案的初始指针.基本上我需要的是:

  • 有2个(或更多)ServiceMix实例满足我的路由需求并共享负载
  • 如果一个实例失败,其他实例继续服务
  • 如果失败者恢复生机,它就加入了党

从那以后,搜索信息让我很困惑

我的解决方案可能会有一些使用JMS队列相互通信的bundle.在这种情况下,我应该只有2个独立的ServiceMix实例(彼此不了解).这不是最简单的选择吗?我看到了对故障转移配置的一些支持(http://servicemix.apache.org/docs/4.5.x/users-guide/failover.html),但真正给予的好处是什么(我错过了什么)?此故障转移配置也无助于负载平衡,因为只有一个实例正在为请求提供服务.

failover load-balancing high-availability apache-camel apache-servicemix

9
推荐指数
1
解决办法
4077
查看次数

新泽西州.如何根据url param生成json和xml输出

这是一项Jersey服务:

@GET
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public Response service(@QueryParam("format") String format) {

  if (format.equals("json")) {...}

  return response;

}
Run Code Online (Sandbox Code Playgroud)

我想根据url param "format" 生成XMLJSON回复.

我的回复实例正在形成jaxb2

我知道如果在我的Java客户端/功能测试中使用此代码,我可能会得到xmljson回复:

String content = service.path("").queryParam("myparam", "myvalue").accept(MediaType.APPLICATION_XML).get(String.class);
Run Code Online (Sandbox Code Playgroud)

要么

String content = service.path("").queryParam("myparam", "myvalue").accept(MediaType.APPLICATION_JSON).get(String.class);
Run Code Online (Sandbox Code Playgroud)

但我需要根据url param这样做.

java xml json jaxb jersey

9
推荐指数
2
解决办法
2万
查看次数

wsdl2java两个类具有相同的XML类型名称"{http://***.***.$.**/*/////*}} objectFactory"

在旧版本4.5.2中使用cxf 2.6.8的较新版本的servicemix(在5.4 - cxf 3.0.2和5.3 - cxf 2.7.11上测试)中出现此问题,一切正常,Web服务已创建.

在我们的项目中,我们有很多不同的web服务由maven插件wsdl2java在不同的包中生成.在servicemix 5.4中,几乎所有的web服务都由于这些错误而中断,奇怪的是在之前的servicemix 5.3中,bundle之一能够在没有任何项目修改的情况下启动.

在maven我尝试使用额外的extraarg:

<extraarg>-autoNameResolution</extraarg>
<extraarg>-xjc-npa</extraarg>
Run Code Online (Sandbox Code Playgroud)

但没有任何结果

堆栈跟踪:

Unable to start blueprint container for bundle bundle-name1
    org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to initialize bean .camelBlueprint.factory.camelContext
        at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:714)[19:org.apache.aries.blueprint.core:1.4.1]
        at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:824)[19:org.apache.aries.blueprint.core:1.4.1]
        at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)[19:org.apache.aries.blueprint.core:1.4.1]
        at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[19:org.apache.aries.blueprint.core:1.4.1]
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.7.0_21]
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.7.0_21]
        at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[19:org.apache.aries.blueprint.core:1.4.1]
        at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[19:org.apache.aries.blueprint.core:1.4.1]
        at org.apache.aries.blueprint.container.BlueprintRepository.createInstance(BlueprintRepository.java:230)[19:org.apache.aries.blueprint.core:1.4.1]
        at org.apache.aries.blueprint.container.BlueprintRepository.create(BlueprintRepository.java:145)[19:org.apache.aries.blueprint.core:1.4.1]
        at org.apache.aries.blueprint.container.BlueprintContainerImpl.getComponentInstance(BlueprintContainerImpl.java:753)[19:org.apache.aries.blueprint.core:1.4.1]
        at org.apache.camel.blueprint.handler.CamelNamespaceHandler$CamelDependenciesFinder.process(CamelNamespaceHandler.java:863)[105:org.apache.camel.camel-blueprint:2.13.2]
        at org.apache.aries.blueprint.container.BlueprintContainerImpl.processProcessors(BlueprintContainerImpl.java:528)[19:org.apache.aries.blueprint.core:1.4.1]
        at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:361)[19:org.apache.aries.blueprint.core:1.4.1]
        at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[19:org.apache.aries.blueprint.core:1.4.1]
        at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)[19:org.apache.aries.blueprint.core:1.4.1]
        at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)[19:org.apache.aries.blueprint.core:1.4.1]
        at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)[19:org.apache.aries.blueprint.core:1.4.1]
        at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[14:org.apache.aries.util:1.1.0]
        at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[14:org.apache.aries.util:1.1.0]
        at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[14:org.apache.aries.util:1.1.0]
        at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[14:org.apache.aries.util:1.1.0]
        at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[14:org.apache.aries.util:1.1.0]
        at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1127)[org.apache.felix.framework-4.4.1.jar:]
        at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:696)[org.apache.felix.framework-4.4.1.jar:] …
Run Code Online (Sandbox Code Playgroud)

java wsdl cxf wsdl2java apache-servicemix

9
推荐指数
2
解决办法
2863
查看次数

帮助ant文件 - Java任务的类路径

我有下面的Ant构建文件,并尝试使用目标'run'来执行程序.

<property name="springjar"  location="E:/Tools/spring-30/dist/" />
<property name="logjar"     location="E:/Tools/commons-logging-1.1.1/" />

<patternset id="jar.files"><include name="**/*.jar"/></patternset>

<path id="springlearn.classpath">
    <fileset dir="${springjar}"><patternset refid="jar.files"/></fileset>
    <fileset dir="${logjar}"><patternset refid="jar.files"/></fileset>
</path>


<target name="run" depends="dist" description="Execute the Java Program">
    <java dir ="." fork="true" jar="dist\app.jar" classpathref ="springlearn.classpath">
    </java>
</target>
Run Code Online (Sandbox Code Playgroud)

使用相同的classpathref,我能够成功编译并创建jar,但是当使用目标运行时,我得到以下错误

java.lang.NoClassDefFoundError: org/springframework/core/io/Resource
Caused by: java.lang.ClassNotFoundException: org.springframework.core.io.Resource
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:289)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Run Code Online (Sandbox Code Playgroud)

线程"main"中的异常

任何帮助是极大的赞赏.谢谢

java ant classpath

8
推荐指数
2
解决办法
1万
查看次数

请联系Talend Open Studio ESB用户反馈(与jbossesb/mule/servicemix相比)

我正在快速回顾一下ESB,到目前为止,我对Talend ESB感到惊讶和印象深刻.我真的期待Mule,一个更公认的开源esb,成为事实.

在我仅进行学术和基础测试评估之后,有没有更多有Talend实践经验的人(最好是在使用其他开源ESB之后)提供任何优点/缺点?

令我印象深刻的领域是:*EAI,即可用于集成的组件/传输数量.我发现其他一些ESB更多的是"你可以通过使用Camel或其他库来获得该功能",但是在设置这些"外部可用"功能时却没有提供简单的集成/指导.

*作为单点服务总线的安全性.看来Talend为管理所有公开的SOA服务的安全性提供了很好的支持.我没有机会在实践环境中完全尝试它(再次,有更多经验的人请!),但ESB为您提供完整(在运行期间可管理)安全控制的想法很有吸引力.

*非常好的契约优先IDE支持创建服务,然后由ESB使用.再次,请诚实的反馈.

*我对部署方面有点担心,听起来你需要运行多个服务器/服务,而ESB解决方案的"部署"(存储库的东西......?)可能会导致多点部署.此外,当转移服务地点(开发/测试/生产)时,我的快速审查并不是那么清楚(特别是与其他ESB解决方案相比......如果它们都有点复杂,那就没问题).

*诸如契约优先Web服务之类的用例,可以聚合/组合/重新映射来自多个其他Web服务(可能是二进制java rmi或ejbremote)的信息以填充响应.

*使用诸如监视ftp服务器的文件丢弃,拾取文件,解析xml/csv/edi文件格式以提供给另一个服务(不一定是大批量处理)的用例

*用于监控RSS提要的用例,用于包含XML/CSV/EDI文件链接,下载(新)文件,处理/提供给其他服务的新条目.

*CIFS/Windows共享我没有查看,但我也会在这里询问监控文件的位置/提取.

问题:有Talend ESB经验的人,请提供有关真实世界准确性和/或陷阱的上述陈述的评论,以及更多真实世界的反馈.就像我上面提到的那样,从表面上看,我真的被Talend Open Studio免费提供的开源作为开源​​,但在没有许可的情况下可以在商业环境中使用,说实话,JbossESB和Mule在放入时有点失望在Talend ESB旁边.

感谢您的任何反馈!

jboss esb mule talend apache-servicemix

8
推荐指数
2
解决办法
3874
查看次数

Camel SMPP - 服务器

我熟悉Camel-SMPP,它对我的​​消费者和生产者路线也很有用.我正在使用Selenium SMPP SIM来测试它.

来自uri ="smpp://smppclient@127.0.0.1:8056?password = password&systemType = consumer"/>

to uri ="smpp:// smppclient @ localhost:2775?password = password && systemType = producer"/>

但是,我想让我的Camel作为服务器运行(它接受来自众多客户的SMS).我当前的From路由与一个SMS发送器紧密耦合.如何将其修改为通用服务器.骆驼有可能吗?

apache-camel jsmpp fuseesb jbossfuse apache-servicemix

8
推荐指数
1
解决办法
891
查看次数