尝试使用调试AIR应用程序时,我遇到了麻烦adl.
虽然adl成功启动,但应用程序永远不会出现在屏幕上/启动.
例如:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="400" height="400"
preinitialize="trace('hello')">
<s:Label text="Hello, world" />
</s:WindowedApplication>
Run Code Online (Sandbox Code Playgroud)
启动此功能时,trace永远不会执行,并且应用程序永远不会出现在屏幕上.
其他兴趣点:
adl调试程序启动(即,我看到在我停靠的图标)adt直接调用命令行,则没有任何区别正如我上面提到的,这曾经工作得很好,似乎已经停止了.
在事情停止工作的时候,我正在调试另一个应用程序,其中包括安装防火墙以阻止特定端口.我怀疑它可能与此有关.
但是,我已经卸载了所有防火墙,但它仍然无法正常工作.我不确定哪个端口adt使用,但我没有看到它在运行时尝试连接lsof -i -n -P.
有什么建议?
更新:我也已经卸载并重新安装了Flash Builder(因此也就是AIR SDK),但它仍然无效.我认为这增加了港口冲突的重要性,但仍然让我不知道在哪里/如何继续
进一步更新 为AIR安装程序编译完全相同的代码库,安装和运行应用程序正常.(即生产版本).但是,代码库无法启动adl.这几乎证实了这个问题是一个本地机器配置问题adl,而不是代码库的问题.
我有一个flex/LCDS堆栈,我发现在注销后,我经常(但不总是)开始Duplicate HTTP Session在客户端上接收错误.
这是堆栈的重要事实:
mx.messaging.FlexClient保持初始化)per-client-authentication设置为false- 我们正在尝试实现SSO(与CAS集成),因此用户原则绑定到JSession.以下是我目前关于导致问题的理论:
amflongpolling最后两个调用会产生冲突,LCDS FlexClient看起来与2个JSession相关.
结果,收到了以下错误:
Server.Processing.DuplicateSessionDetected检测到重复的基于HTTP的FlexSession,通常是由于远程主机禁用会话cookie.必须启用会话cookie才能正确管理客户端连接.
注意:我已经能够在独立项目中重新创建问题. 我认为这不是我们的应用程序特定代码的问题,而是由状态/会话性质以及共享同一会话的多个选项卡之间的冲突引起的.
总之,我认为问题是由于来自一个选项卡的调用导致服务器上的会话无效,但是在将响应发送到浏览器以通知新的JSession之前,调用是在旧的Jsession下发出的. .
什么是适当的策略来抵御这个重复的会话问题?
为了澄清,虽然场景类似于此处讨论的场景,但存在微妙的差异,这使得该文章中的解决方案不合适.
具体来说,本文讨论了通过使用JSP或协调的RemoteObject调用控制跨两个浏览器的JSession 的初始创建来防止重复会话.
Flex实际上通过阻止出站RemoteObject调用来协助此过程,直到DSid定义了本地FlexClient 变量,表明初始会话已建立.
我的方案有所不同,因为JSession(和相关的LCDS FlexSession /客户端FlexClient对象)已经建立一次(使用该文章中讨论的技术),然后通过注销失效 - 这些调用session.invalidate() …
我对以下方法有例外:
@Transactional
@RequestMapping(method=RequestMethod.PUT)
public @ResponseBody Account create(@Valid @RequestBody CreateAccountRequest request, BindingResult bindingResult)
{ ...
}
Run Code Online (Sandbox Code Playgroud)
引发以下异常:
java.lang.IllegalStateException:一个Errors/BindingResult参数应该紧跟在控制器方法签名中的model属性参数之后:public com.mangofactory.concorde.domain.Account com.mangofactory.concorde.api.AccountService.create(com .mangofactory.concorde.api.rpc.CreateAccountRequest,org.springframework.validation.BindingResult)
根据文档,我需要添加一个BindingResult作为第二个参数.但是,我已经做到了.
它甚至出现在例外中.
我错过了什么?
最近重新格式化了硬盘,我无法使本地Java / Tomcat / MySQL堆栈正常工作。
这是一个全新的MySQL安装,可在Mac OSX 10.7.3(Lion)上运行。
我得到的错误是当我的tomcat实例启动并尝试连接时:
SEVERE: Servlet /concorde-web threw load() exception
java.sql.SQLException: Access denied for user 'concorde'@'localhost' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
Run Code Online (Sandbox Code Playgroud)
采取的步骤:
concorde@localhost按照此处和此处的说明设置的密码我可以使用相同的凭据从控制台进行连接。以下所有工作:
mysql -u concorde -h localhost -p
mysql -u concorde -p
mysql -u concorde -h localhost -D concorde -p
// the app is trying to connect as user concorde to db concorde
Run Code Online (Sandbox Code Playgroud)我确保协和用户具有权限-不仅来自本地主机,而且还可以在任何地方:
GRANT ALL ON concorde.* TO 'concorde'@'%';
FLUSH PRIVELEDGES;
Run Code Online (Sandbox Code Playgroud)我想念什么?
除此之外,我可以采取哪些步骤来解决这里发生的事情?我可以检查任何日志吗?
根据要求,这是我正在使用的代码。
但是,在重新格式化硬盘之前,此代码可以正常工作,因此我怀疑问题是否出在其中。 …
我试图理解在Spring-MVC应用程序中定义Spring Security的推荐方法,其中bean定义分为多个父/子上下文.
例如,我当前的应用程序web.xml看起来如下,(我理解为相当标准)
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:applicationContext.xml
/WEB-INF/securityContext.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>spring-mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring-mvc</servlet-name>
<url-pattern>/app/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
所以,我有一个标准ContextLoaderListener定义/,加载我的全局配置 - applicationContext.xml和securityContext.xml.我还定义了spring mvc DispatcherServletat /app/,它从中加载了自己的bean spring-mvc-servlet.xml.
据我了解,定义的spring-mvc-servlet.xml配置对于在任一顶级上下文文件中定义的配置是不可见的.
哪里是定义应用级安全概念的最佳位置?例如,我想添加以下过滤器.
<security:http pattern="/oauth/token" create-session="stateless" entry-point-ref="oauthAuthenticationEntryPoint">
<security:custom-filter ref="clientCredentialsTokenEndpointFilter" before="BASIC_AUTH_FILTER" />
</security:http>
Run Code Online (Sandbox Code Playgroud)
这样,请求/app/oauth/token通过此过滤器,并获得处理的基本身份验证.
因为这与Spring-MVC app的关注直接相关,所以我最初定义它spring-mvc-context.xml(这就是为什么它app被排除在url之外).
但是,这意味着它对于定义的安全配置不可见securityContext.xml,因此它被忽略.
所以,我把它移动到securityContext.xml,但这样做,也必须移动所有依赖项.我很快就把所有东西都搬到了applicationContext.xml,这spring-mvc-context.xml …
有几个PHP或js代码格式化库 - 有谁知道Java中是否存在类似的库?
即,给定一串代码,返回带有语法着色等的格式化字符串.
如果它能自动检测到语言,那将是理想的,但我可能会在那里推动我的运气......
文本最终将显示在Flex应用程序中,因此虽然我可以使用js lib,但我们将解析大型文件(最多6000行),因此我希望尽量减少客户端处理.
理想的输出是没有CSS的HTML,虽然我会采取我能得到的.
在groovy中,有没有办法向URL发送请求,忽略响应?主要目的是在更短的时间内向服务器发送更多请求.
因为结果对我来说并不重要,一旦发送请求,我不希望脚本在继续之前等待响应.
这是我当前的脚本:
(1..50).each { element->
def url = "http://someUrl"
url.toURL().text
}
Run Code Online (Sandbox Code Playgroud)
在此代码中,该text方法必须加载整个响应,我并不真正关心.重要的是发送请求,等待响应并不重要.
有类似的send方法吗?(沿着...的路线
url.toURL().send
Run Code Online (Sandbox Code Playgroud)
或者,是否有一种"groovy"方式我可以使用GPARS并行运行循环来加快速度?
我听说HTML 5对于开发富Internet应用程序也很有用.任何人都可以解释Adobe Flex和HTML5之间的区别.
是否可以使用任意路径访问Xml节点?
例如:给定xml:
<records>
<bike name='Chopper' />
<car name='HSV Maloo' make='Holden' year='2006'>
<country>Australia</country>
<record type='speed'>Production Pickup Truck with speed of 271kph</record>
</car>
<car name='P50' make='Peel' year='1962'>
<country>Isle of Man</country>
<record type='size'>Smallest Street-Legal Car at 99cm wide and 59 kg in weight</record>
</car>
</records>
Run Code Online (Sandbox Code Playgroud)
如何使用以字符串形式提供的任意路径访问xml的内容 - 例如:
XmlSlurper xml = new XmlSlurper.parse(theXml)
assert xml['bike.@name'] == 'Chopper'
assert xml['car[0].country'] == 'Australia'
Run Code Online (Sandbox Code Playgroud) 我在我的Spring MVC应用程序中使用Atmosphere来促进推送,使用streaming传输.
在我的应用程序的整个生命周期中,客户端将订阅和取消订阅许多不同的主题.
Atmosphere似乎每个订阅使用一个http连接 - 即每次调用$.atmosphere.subscribe(request)创建一个新连接.这很快耗尽了从浏览器到大气服务器的连接数.
我不想每次都创建一个新资源,而是希望能够AtmosphereResource在初始创建后添加和删除广播公司.
但是,由于它AtmosphereResource是入站请求的一对一表示,每次客户端向服务器发送请求时,它都会到达一个新的AtomsphereResource,这意味着我无法引用原始资源,并将其附加到话题的Broadcaster.
我已经尝试过使用它们$.atmosphere.subscribe(request)并调用atmosphereResource.push(request)原始subscribe()调用返回的资源.但是,这没有任何区别.
接近这个的正确方法是什么?
java ×6
apache-flex ×3
groovy ×2
spring-mvc ×2
air ×1
atmosphere ×1
blazeds ×1
html5 ×1
lcds ×1
mysql ×1
spring ×1