Google Cloud Messaging(GCM)使用哪种端口和协议?
我们经历过一些消息无法通过的事情,并且已经注意到它取决于我们坐在哪个网络上.
我有以下Maven代码段
<plugin>
<!-- http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin -->
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.16</version>
<configuration>
<contextPath>/thomas</contextPath>
<stopPort>9966</stopPort>
<stopKey>foo</stopKey>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我想将上下文路径设置为"/"但Jetty插件不尊重它,上下文回退到使用文件夹(或可能是模块)名称作为上下文路径.如果我使用名称设置上下文路径,例如:
<contextPath>/thomas</contextPath>
Run Code Online (Sandbox Code Playgroud)
有什么建议?
提前致谢.
isTextPresent在Selenium 2中没有(WebDriver)
使用WebDriver断言页面上是否存在某些文本的正确方法是什么?
我的pom.xml中有以下依赖项,因此我的IDE(IntelliJ)在编译期间具有servlet-api类,但未在构建中提供.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
但是当在测试范围内运行时,提供的范围将此依赖关系中的类添加到类路径,这对于我以编程方式启动的Jetty是个问题.因为它已经在它的库中了,所以我得到了一个
java.lang.SecurityException: class "javax.servlet.FilterRegistration"'s signer information does not match signer information of other classes in the same package
Run Code Online (Sandbox Code Playgroud)
如果我删除了这个依赖项,Jetty服务器在测试范围内正确启动,但我需要IntelliJ的这个依赖项来编译我的代码.什么是解决这个问题的最佳方法,有没有办法可以排除测试范围的这种依赖性?
我正在使用./gradlew createDebugCoverageReport生成所有Android检测(Robotium)测试的代码覆盖率报告.但我需要运行所有测试才能获得覆盖率报告.如何指定执行单个测试(或单个测试类)并获取覆盖率报告?我在测试开发过程中对它进行了测试,一次运行所有测试的速度太慢了.
如何明确设置H2应该使用的时区?现在它获得了从底层操作系统使用的时区.我会假设存在一个额外的参数,我将添加到连接字符串ala我下面的那个.
db.url=jdbc:h2:mem:mybipper;MVCC=true;<timezone=UTC>
Run Code Online (Sandbox Code Playgroud) 我在Spring MVC中使用以下方法并使用Spring Security:
@PreAuthorize("#phoneNumber == authentication.name")
@RequestMapping(value = "/{phoneNumber}/start", method = RequestMethod.POST)
public ModelAndView startUpgrading(@PathVariable("phoneNumber") String phoneNumber,
....
}
Run Code Online (Sandbox Code Playgroud)
我设法模拟这样的身份验证:
public Authentication tryToAuthenticate(String accountName, String password) {
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(accountName, password);
return authenticationManager.authenticate(token);
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何使用@PreAutorize设置授权.
如何正确设置我的测试上下文,以便我不会被拒绝访问?
org.springframework.security.access.AccessDeniedException: Access is denied
at org.springframework.security.access.vote.AffirmativeBased.decide(AffirmativeBased.java:83)
at org.springframework.security.access.intercept.AbstractSecurityInterceptor.beforeInvocation(AbstractSecurityInterceptor.java:205)
Run Code Online (Sandbox Code Playgroud) 我有理解Canonical Registration Id并将其归还给Google的问题.我故意注册了我的Android应用程序两次(进行测试Canonical Registration Id),但是当我尝试向两者发送消息时,Registration Ids我没有得到谷歌的回报Canonical Registration Id.
另外,我想知道Google返回的消息ID的格式是什么意思.我可以在日志中看到它似乎由三部分组成<something>:<something2>%<something3>.知道他们的意思吗?第三部分是否识别设备?
[INFO com.bipper.filters.PushUpdatesFilter] [messageId = 0:1349819220154718%921c249a6e2555b5] [INFO com.bipper.filters.PushUpdatesFilter] [messageId = 0:1349819220242456%921c249a6e2555b5]
我得到了这个破坏的管道异常,这又导致我的Spring应用程序上下文以某种方式崩溃了.我不知道是什么造成的,服务器在发生这种情况之前已经运行了很长时间,任何认识它的人都可以指出我正确的方向?
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
04.01.2013 11:48:54 *ERROR* ReauthenticatingInterceptor: Got some exception when reauthenticating user (ReauthenticatingInterceptor.java, line 47)
ClientAbortException: java.net.SocketException: Broken pipe
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:373)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:437)
at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:321)
at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:299)
at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:103)
at org.codehaus.jackson.impl.Utf8Generator.flush(Utf8Generator.java:1091)
at org.codehaus.jackson.map.ObjectMapper.writeValue(ObjectMapper.java:1354)
at org.springframework.web.servlet.view.json.MappingJacksonJsonView.renderMergedOutputModel(MappingJacksonJsonView.java:199)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at …Run Code Online (Sandbox Code Playgroud)