在我的公司,我们将使用Flex3作为新的金融Web应用程序的表示层,使用Spring作为业务层,但关于最佳消息传递/远程处理技术的争论仍在继续.您可以在使用一种或另一种技术的利弊方面分享自己的经验吗?
我发现我的flex应用程序在tomcat版本$ subject之后不再起作用了.请帮我解决这个问题.我尝试了许多事情但没有成功.
这是我的配置.
Blaze - 4.x Tomcat - 最新 - 7.0.32 Java 7
应用程序挂起没有任何错误或任何东西.它从7.0.32再次起作用.我检查了tomcat发行说明(http://tomcat.apache.org/tomcat-7.0-doc/changelog.html)并将问题排除在Coyote jar文件之外.
当我将Coyote.jar从版本7.0.27替换为7.0.32时,它可以正常工作.
以下是Coyote的变化(http://tomcat.apache.org/tomcat-7.0-doc/changelog.html)
52858: Correct fix for high CPU load (fhanik)
53138: Broken Sendfile on SSL introduced in 7.0.27 (fhanik)
52055: Additional fix required to ensure that InputFilters are recycled between requests. (markt)
53061: Fix a problem in the NIO connector whereby if the poller was under low but consistent load (>1 request/per second and always less than 1 second between requests) …
Run Code Online (Sandbox Code Playgroud) 我有一个带有以下web.xml的spring 2.5 webapp
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>Spring BlazeDS Integration Samples</display-name>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>ServerBlaze</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/*-context.xml
</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/config/log4j.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>flex.messaging.HttpFlexSession</listener-class>
</listener>
<servlet>
<servlet-name>serverBlaze</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>serverBlaze</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
Run Code Online (Sandbox Code Playgroud)
我宣布了这个豆子
<bean id="mylog"
class="org.springframework.beans.factory.config.CommonsLogFactoryBean">
<property name="logName" value="mylog" />
</bean>
Run Code Online (Sandbox Code Playgroud)
在services-context.xml中(它是一个blazeds/spring项目).
我将这种方式注入UserDAO bean:
<bean id="user" class="com.acotel.msp.database.UserDAO" >
<property name="mylog" ref="mylog" />
<property name="jsonClient" ref="jsonClient" />
</bean>
Run Code Online (Sandbox Code Playgroud)
这是log4j.xml配置文件:
<?xml version="1.0" …
Run Code Online (Sandbox Code Playgroud) 我们使用BlazeDS作为Flex和Java之间的代理.方法与(http://www.flexpasta.com/index.php/2008/05/16/exception-handling-with-blazeds-and-flex/)中的方法相同
Java异常声明:
public class FlexException extends RuntimeException {
private String name = 'John';
public FlexException(String message) {
super(message);
}
public String getName() {
return name;
}
}
Run Code Online (Sandbox Code Playgroud)
然后,我们扔掉它:
public void testMethod(String str) throws Exception {
throw new FlexException("Custom exception");
}
Run Code Online (Sandbox Code Playgroud)
Flex部分:
private function faultHandler(event:FaultEvent):void
{
var errorMessage:ErrorMessage = event.message as ErrorMessage;
trace("error++");
}
Run Code Online (Sandbox Code Playgroud)
和远程对象在这里实例化:
<mx:RemoteObject id="mySample" destination="mySample" channelSet="{cs1}" fault="faultHandler(event)" />
Run Code Online (Sandbox Code Playgroud)
但在event.fault
我得到"Server.Processing"并event.faultString
等于"服务器上有未处理的故障.自定义异常"如何在异常道具中指定数据?
更新:配置文件:messaging-config.xml
<?xml version="1.0" encoding="UTF-8"?>
Run Code Online (Sandbox Code Playgroud)
<adapters>
<adapter-definition id="actionscript" class="flex.messaging.services.messaging.adapters.ActionScriptAdapter" default="true" />
<!-- <adapter-definition id="jms" …
Run Code Online (Sandbox Code Playgroud) 我有一个动作脚本对象,其中包含其他对象的数组集合,这两个对象都反映了Java对象,它们是表示为bean的数据库表,我正在使用blazeds spring hibernate ...使用java后端的flex RIA的常规配置服务器语言,所有其他对象工作完美,但这次我需要从客户端获取此数据,我这样做,但当我进入客户端表示为数组集合的集合时,我得到此错误!!!!! 这两个类都适用于其他情况,这些类的映射是可以的,我怀疑我需要在服务器端转换数组集合,但也许我做错了,服务器端可以找出数组集合对象类型并转换它们!任何人进入这个?
提前致谢.
我曾经使用soap webservices将图表数据传输到我的flex应用程序,但最近由于性能,方便的打字等原因切换到使用BlazeDS.
我正在考虑切换到使用JSON(就像我在应用程序的其他部分中所做的那样),原因如下:
有人用BlazeDS遇到这些问题吗?BlazeDS值得麻烦吗?
*
我可以使用Externalizable接口而不是不同的DTO,但它也很痛苦.
我是Flex开发的新手,在创建一个新的Mobile项目时,它询问我是否要将它连接到某些服务器并给我四个选项`ColdFusion,PHP,Java和blazeDS).
我一直在java工作,而不是一个PHP家伙,我会简单地选择Java
并忽略所有其他.但由于效率是我目前项目中的一个重要问题,我不想冒险.
根据你的哪一个是最好的选择,即ColdFusion,BlazeDS或Java,考虑到大多数时候我将在数据库中存储大量二进制数据即音频/视频文件等这一事实?
在我的下一个计划项目中,我想实现一个在线教室网站,我想在教师和参与的在线学生之间共享一个黑板(说一个简单的文本区域){这些都通过网站登录}.无论Tutor在黑板上写的文字都必须由其他参与者在实时中看到.
我想用Java作为我的开发平台.
为了实现这一点,我开始使用PUSH技术进行Google搜索.我读到XMPP实现服务器和XMPP库可用于实现近实时应用程序,如协作应用程序/多方游戏/ IM应用程序等.但我也读到了BlazeDS用于实时和低延迟Web应用程序的用法.
我的问题是,
这些基于XMPP java的实现和BlazeDS有什么区别?技术人员的最终目标不是使用PUSH技术来实现低延迟的Web应用程序吗?
Comet服务器和XMPP服务器有什么区别?他们只是在实施PUSH技术或其他任何方面有所不同吗?
我很迷惑.请有人向我解释一下这些,以便在我做项目之前知道自己做了什么以及在项目的下一步开始.
谢谢
blazeds ×9
apache-flex ×6
java ×4
spring ×3
coldfusion ×1
flash ×1
java-ee ×1
javascript ×1
json ×1
log4j ×1
push ×1
remoting ×1
soap ×1
tomcat ×1
tomcat7 ×1
web-services ×1
xmpp ×1