Mule 使用Esper和Twitter进行复杂的事件处理会给twitter4j.internal.org.json.JSONException:JSONArray文本必须以';[';

Mule 使用Esper和Twitter进行复杂的事件处理会给twitter4j.internal.org.json.JSONException:JSONArray文本必须以';[';,mule,complex-event-processing,esper,Mule,Complex Event Processing,Esper,您好,我正在尝试…中的示例,但它给出了以下异常。原因是: twitter4j.internal.org.json.JSONException:JSONArray文本必须以 在1处使用“[”字符[第2行]在 twitter4j.internal.org.json.JSONTokener.syntaxError(JSONTokener.java:335) 位于twitter4j.internal.org.json.JSONArray.(JSONArray.java:107) twitter4j.in

您好,我正在尝试…中的示例,但它给出了以下异常。原因是:

twitter4j.internal.org.json.JSONException:JSONArray文本必须以 在1处使用“[”字符[第2行]在 twitter4j.internal.org.json.JSONTokener.syntaxError(JSONTokener.java:335) 位于twitter4j.internal.org.json.JSONArray.(JSONArray.java:107) twitter4j.internal.http.HttpResponse.asJSONArray(HttpResponse.java:185) …还有54个

任何人都试过同样的例子,或者任何人都有解决办法。
谢谢。

在使用回家时间表操作时,twitter连接器似乎出现了某种问题(我刚刚申请了jira)

我已经成功地用Esper连接器做了一个简单的mule应用程序来测试它,它工作正常。请告诉我这是否有帮助(代码如下)

文件:esper config.xml

文件:simple\u esper.xml

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking" xmlns:json="http://www.mulesoft.org/schema/mule/json"
    xmlns:scripting="http://www.mulesoft.org/schema/mule/scripting"
    xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:esper="http://www.mulesoft.org/schema/mule/esper" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
    xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.4.2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.mulesoft.org/schema/mule/json http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd
http://www.mulesoft.org/schema/mule/scripting http://www.mulesoft.org/schema/mule/scripting/current/mule-scripting.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/esper http://www.mulesoft.org/schema/mule/esper/1.0/mule-esper.xsd
http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd">

   <esper:config name="Esper" configuration="esper-config.xml" doc:name="Esper"/>


   <flow name="Esper_saving_people" doc:name="Esper_saving_people">
        <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" doc:name="HTTP"/>
        <scripting:component doc:name="People creation">
            <scripting:script engine="Groovy"><![CDATA[def persons=[];
persons.add(new org.mule.Person("mule", 23));
persons.add(new org.mule.Person("ESB", 42));
persons.add(new org.mule.Person("mule", 42));
return persons;]]></scripting:script>
        </scripting:component>
        <foreach doc:name="Iteragint over people">
            <esper:send config-ref="Esper" eventPayload-ref="#[payload]" eventName="people" doc:name="Esper"/>
        </foreach>
        <json:object-to-json-transformer doc:name="Object to JSON"/>
    </flow>

    <flow name="Esper_amount_of_people" doc:name="Esper_amount_of_people">
        <esper:listen config-ref="Esper" statement="select count(*) from Person" doc:name="Esper (Streaming)"/>
        <logger message="Esper, amount of people: #[payload]" level="INFO"    doc:name="Logger"/>
    </flow> 

    <flow name="Esper_average_age" doc:name="Esper_other_listen">
        <esper:listen config-ref="Esper" statement="select avg(age) from Person " doc:name="Esper (Streaming)"/>
        <logger message="Esper, average age: #[payload]" level="INFO"    doc:name="Logger"/>
    </flow> 

</mule>

干杯,
Lautaro

链接已断开。如果您在此处显示代码,将有助于人们回答问题。
package org.mule;

import java.io.Serializable;

public class Person implements Serializable {
    private static final long serialVersionUID = 1L;
    private String name;
    private Integer age;

    public Person(String name, Integer age) {
        super();
        this.name = name;
        this.age = age;
    }

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public Integer getAge() { return age; }
    public void setAge(Integer age) { this.age = age; }
}
<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking" xmlns:json="http://www.mulesoft.org/schema/mule/json"
    xmlns:scripting="http://www.mulesoft.org/schema/mule/scripting"
    xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:esper="http://www.mulesoft.org/schema/mule/esper" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
    xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.4.2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.mulesoft.org/schema/mule/json http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd
http://www.mulesoft.org/schema/mule/scripting http://www.mulesoft.org/schema/mule/scripting/current/mule-scripting.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/esper http://www.mulesoft.org/schema/mule/esper/1.0/mule-esper.xsd
http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd">

   <esper:config name="Esper" configuration="esper-config.xml" doc:name="Esper"/>


   <flow name="Esper_saving_people" doc:name="Esper_saving_people">
        <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" doc:name="HTTP"/>
        <scripting:component doc:name="People creation">
            <scripting:script engine="Groovy"><![CDATA[def persons=[];
persons.add(new org.mule.Person("mule", 23));
persons.add(new org.mule.Person("ESB", 42));
persons.add(new org.mule.Person("mule", 42));
return persons;]]></scripting:script>
        </scripting:component>
        <foreach doc:name="Iteragint over people">
            <esper:send config-ref="Esper" eventPayload-ref="#[payload]" eventName="people" doc:name="Esper"/>
        </foreach>
        <json:object-to-json-transformer doc:name="Object to JSON"/>
    </flow>

    <flow name="Esper_amount_of_people" doc:name="Esper_amount_of_people">
        <esper:listen config-ref="Esper" statement="select count(*) from Person" doc:name="Esper (Streaming)"/>
        <logger message="Esper, amount of people: #[payload]" level="INFO"    doc:name="Logger"/>
    </flow> 

    <flow name="Esper_average_age" doc:name="Esper_other_listen">
        <esper:listen config-ref="Esper" statement="select avg(age) from Person " doc:name="Esper (Streaming)"/>
        <logger message="Esper, average age: #[payload]" level="INFO"    doc:name="Logger"/>
    </flow> 

</mule>