我有一个由tomcat运行的前端,我的后端处理由Mule运行。
例如,
你好世界html
<div>
<button id="btnSayHello" ng-click="sayHello()" data-transalte>Click Me</button>
</div>
你好世界js公司
$scope.sayHello = function() {
$http({
method: 'GET',
url: $rootScope.serviceUrl + '/triggers/greetings/' + $scope.name
}).success(function (response) {
alert("Success");
}).error(function () {
alert("Error");
})
}
我的触发器。Java语言
@Component
@Path("/triggers")
public class MyTriggers {
...
@GET
@Produce("text/plain")
@Path("/greetings/{name}")
@Consume("text/plain")
public String sayHello(@PathParam("name") String name) {
log.info("Hello, " + name);
return "SUCCESS";
}
}
招呼xml
<flow name="greeting">
<jersey:resources>
<spring-object bean="MyTriggers"/>
</jersey:resources>
</flow>
我的结果一直以错误的形式返回,这意味着它在JavaScript级别失败。
不太确定出了什么问题。
Tomcat正在本地主机8080上运行。
我假设您使用的是Mule 3。x,因为您似乎正在部署Mule可部署拉链。你的问题中有几个问题。
Mule不仅仅自动调用Spring bean或方法。你需要有一个叫它的骡子流。具体来说,默认情况下,@组件注释对Mule没有任何作用。
我从您提到Tomcat推断出您正在将Mule可部署zip(即Mule 3的Mule应用程序)部署到Tomcat中。这些zip文件旨在部署到Mule服务器,而不是Tomcat服务器。如果没有更多关于您如何打包和部署的详细信息,我认为它不会起作用。如果您试图在Tomcat中进行应用程序的嵌入式部署,您应该遵循https://docs.mulesoft.com/mule-runtime/3.9/deploying-mule-as-a-service-to-tomcat.的说明,我不建议使用这种方法。这是一种传统方法,令人困惑,并且不支持Mule的许多组件。
Java方法中的其他注释似乎是JAX-RS注释。泽西模块中的Mule支持这一点。它应该在调用的流中包含一些东西。
例子:
xml prettyprint-override"> <flow name="HelloWorld">
<http:listener config-ref="HTTP_Listener_Configuration" path="/*" doc:name="HTTP"/>
<jersey:resources>
<component class="com.mycompany.jersey.HelloWorldResource"/>
</jersey:resources>
</flow>
Java端:
package com.mycompany.jersey;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.PathParam;
@Path("/helloworld")
public class HelloWorldResource {
@POST
@Produces("text/plain")
@Path("/{name}")
public String sayHelloWithUri(@PathParam("name") String name) {
return "Hello " + name;
}
}
参考文件:https://docs.mulesoft.com/mule-runtime/3.9/jersey-module-reference
JavaScript/超文本标记语言应该不是很相关。它生成的HTTP请求是。
我是Spring异步任务执行的新手,所以如果这听起来像个愚蠢的问题,请原谅我。 我读到,从Spring 3. x开始,在方法级别引入了@Async注释,以便异步调用该方法。我还了解到,我们可以在Spring配置文件中配置ThreadPoolTaskExecator。 我无法理解的是,如何从tak执行器调用@Async注释的方法让我们假设-AsyncTaskExecutor 早些时候,我们经常在课堂
我在带有自定义注释的方法上有一个切入点。 此方法是从应用程序中的不同位置调用的。 就像我们在付款被批准时从paymentManager的方法调用sendEmail一样。当任务完成时,我们从taskmanager的方法调用sendmail。 我必须找出触发sendEmail的事件。 我在paymentManager的上应用了自定义注释,在TaskManager的方法上应用了自定义注释。 如何在方面获
问题内容: 我想编写自己的Web安全模块库,但无法解决问题。例; 我有一堂课,有一种方法。方法有我的自定义注释。 当此方法调用时,如何触发我的注释。 (示例; Hibernate验证程序。我们在method上编写了hibernate批注,它仅在被调用的方法上起作用) 顺便说一句我的英语不好:) 问题答案: 注释不是“触发的” …您必须编写代码来查找它们的存在并采取措施。 “代码”可以在运行时执行,
我知道从中调用带注释的方法,前面已经讨论过了。 但是我不明白为什么当bean被覆盖时它就不起作用了。 我有一个遗留类,我不能修改。它是一个配置,同时也是一个业务bean。这是一个简化版本: 现在,调用返回而不是。 当配置被删除并且测试上下文的配置被设置为时,一切都能正常工作(结果为)。 在测试中注册bean有什么不同?
我有一个被注释为的类,然后将其添加到另一个类中。但是,我需要删除这个注释,而是在以前自动连线它的类中用一个注释方法创建它。 以前的类看起来像: ...或者我直接调用这个方法(在我看来不是正确的方法): …或者这两个都不正确?