小编Viz*_*llx的帖子

AdminTokenAction:致命错误:无法获取应用程序SSO令牌

我试图用apache tomcat代理安装openam 12 war,如配置sso.But尝试了五十多次,但我只得到错误.

如果我将以下属性值更改为来自webagent的amAdmin,则在tomcat第二个实例中调用受保护的应用程序时,它会一次又一次地重定向到同一页面,但没有得到任何异常.amAdmin是我的openam控制台的管理员用户.

OpenSSOAgentBootstrap.properties/com.sun.identity.agents.app.username =
Run Code Online (Sandbox Code Playgroud)

Tomcat日志中的异常

Apr 16, 2015 5:41:10 PM org.apache.tomcat.util.digester.Digester startElement
SEVERE: Begin event threw error
java.lang.ExceptionInInitializerError
    at com.sun.identity.agents.arch.AgentConfiguration.bootStrapClientConfiguration(AgentConfiguration.java:727)
    at com.sun.identity.agents.arch.AgentConfiguration.initializeConfiguration(AgentConfiguration.java:1140)
    at com.sun.identity.agents.arch.AgentConfiguration.<clinit>(AgentConfiguration.java:1579)
    at com.sun.identity.agents.arch.Manager.<clinit>(Manager.java:675)
    at com.sun.identity.agents.tomcat.v6.AmTomcatRealm.<clinit>(AmTomcatRealm.java:67)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at java.lang.Class.newInstance(Class.java:374)
    at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:145)
    at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1288)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
    at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1342)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2770)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1561)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:615)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) …
Run Code Online (Sandbox Code Playgroud)

java single-sign-on openam

69
推荐指数
1
解决办法
6275
查看次数

Restlet,CLAP,Ajax和块超时

我们正在使用RESTlet为我们的项目做一个小的REST服务器.我们在继承自的类中设置了一堆路由Application:

public static void createRestServer(ApplicationContext appCtx, String propertiesPath) throws Exception {

  // Create a component
  Component component = new Component();
  component.getServers().add(Protocol.HTTP, 8081);
  component.getClients().add(Protocol.FILE);
  component.getClients().add(Protocol.CLAP);

  Context context = component.getContext().createChildContext();
  RestServer application = new RestServer(context);

  application.getContext().getParameters().add("useForwardedForHeader", "true");

  application.getContext().getAttributes().put("appCtx", appCtx);
  application.getContext().getAttributes().put("file", propertiesPath);

  // Attach the application to the component and start it
  component.getDefaultHost().attach(application);
  component.start();
}

private RestServer(Context context) {
  super(context);
}

public synchronized Restlet createInboundRoot() {
  Router router = new Router(getContext());

  // we then have a bunch of these
  router.attach("/accounts/{accountId}", AccountFetcher.class); …
Run Code Online (Sandbox Code Playgroud)

java ajax json restlet chunked-encoding

40
推荐指数
1
解决办法
852
查看次数

JCIFS与Windows 2008 R2域控制器不兼容吗?

我们正在使用JCIFS(1.3.15)从仅发送NTLM v2响应的Windows 7客户端进行身份验证.

当我们使用Windows 2008 R2域控制器时,我们收到以下错误

jcifs.smb.SmbException: The parameter is incorrect.
    at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:545)
    at jcifs.smb.SmbTransport.send(SmbTransport.java:645)
    at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:322)
    at jcifs.smb.SmbSession.send(SmbSession.java:224)
    at jcifs.smb.SmbTree.treeConnect(SmbTree.java:176)
    at jcifs.smb.SmbSession.logon(SmbSession.java:153)
    at jcifs.smb.SmbSession.logon(SmbSession.java:146)
Run Code Online (Sandbox Code Playgroud)

在以下情况下,身份验证机制可以正常工作

1)客户端支持NTLM v1和v2(客户端的lmCompatibility为1),域控制器为Windows 2003

2)客户端仅发送NTLM v2(客户端的lmCompatibility为3),域控制器为Windows 2003

3)客户端支持NTLM v1和v2(客户端的lmCompatibility为1),域控制器为Windows 2008

但是当客户端仅发送NTLM v2(客户端的lmCompatibility为3)且域控制器为Windows 2008时,我们会收到上述错误

有些人可以帮助我们

提前致谢

Sajo C Mathew

java jcifs windows-7 windows-server-2008-r2 ntlmv2

33
推荐指数
1
解决办法
3244
查看次数

当allowsPickingMultipleItems = true时,MPMediaPickerController不指示选择

MPMediaPickerController 用于给出在iOS 8.4之前选择项目的可视指示.

在8.4显示选择器并allowsPickingMultipleItems设置为true时,它确实显示项目被选中mediaPicker:didPickMediaItems但在选择时,所选项目只是突出显示(有时),但然后只需翻转回正常显示而不突出显示+指示符.

objective-c mpmediapickercontroller ios ios8.4

30
推荐指数
1
解决办法
617
查看次数

在SWT浏览器中打开PDF文件 - XulRunner默认查看器

情况:

  1. 我的RCP应用程序使用XulRunner
  2. 系统有两个已安装的PDF查看器(Acrobat,Gimp)
  3. Firefox将Gimp设置为默认查看器
  4. 我想在RCP应用程序中使我的SWT浏览器组合忽略默认查看器并使用Acrobat(如果已安装)
  5. 如果不是,我想使用默认查看器

题:

  1. 我可以通过(暂时)在我的应用程序中设置一些XulRunner或System属性来实现这一目的吗?

java pdf swt xulrunner

27
推荐指数
1
解决办法
747
查看次数

无法在xd-singlenode上使用spring-data-jpa部署spring-xd处理器模块

我有一个spring-xd处理器模块,它使用spring-data-jpa对项目具有依赖性:

xd-processor模块的pom.xml:

<dependencies>
    <dependency>
        <groupId>org.test.common</groupId>
        <artifactId>org.test.common</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

org.test.common的pom.xml:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

如果我运行集成测试一切正常.但是部署到xd-singlenode(1.2.0.RELEASE)失败,出现以下错误:

2015-06-21T20:50:35+0200 1.2.0.RELEASE ERROR    DeploymentsPathChildrenCache-0 boot.SpringApplication - Application startup failed
java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration.jpaVendorAdapter
    at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:58) ~[spring-boot-autoconfigure-1.2.3.RELEASE.jar:1.2.3.RELEASE]
...
Caused by: java.lang.IllegalArgumentException: @ConditionalOnMissingBean annotations must specify at least one bean (type, name or annotation)
...
Run Code Online (Sandbox Code Playgroud)

你可以在github上查看完整的样本.

我究竟做错了什么?任何帮助,将不胜感激.

java spring maven spring-data-jpa spring-xd

24
推荐指数
1
解决办法
1184
查看次数

具有相同返回类型的@Named提供程序最终会给出java.lang.IllegalArgumentException:Duplicate

这是问题,

我正在开发一个LibGDX项目,我有不同平台的不同模块.

这是我的android模块的样子:

@Module(
    includes = {BaseModule.class, NetModule.class},
    injects = {DummyProjectActivity.class, DummyProject.class},
    overrides = true)
public class DummyProjectAndroidModule {

    ...

    @Provides @Singleton @Named("DummyOne")
    DummyInterface provideDummyOne() {
        return new DummyOne();
    }

    @Provides @Singleton @Named("DummyTwo")
    DummyInterface provideDummyTwo() {
        return new DummyTwo();
    }

    @Provides @Singleton @Named("DummyConsumer")
    DummyConsumer provideDummyConsumer(@Named("DummyOne") DummyInterface dummyOne,
                                    @Named("DummyTwo") DummyInterface dummyTwo) {
        return new DummyConsumer(dummyOne, dummyTwo);
    }
}
Run Code Online (Sandbox Code Playgroud)

..在这里我的桌面模块如何:

@Module(
    includes = {BaseModule.class, NetModule.class},
    injects = {DummyProjectDesktop.class, DummyProject.class},
    overrides = true)
public class DummyProjectDesktopModule {
Run Code Online (Sandbox Code Playgroud)

好好休息几乎一样.然而,当我正在为桌面构建项目时,一切都很顺利,在Android方面,我得到了这个错误让我大吃一惊.

Process: net.alicanhasirci.mobile.DummyProject.android, PID: 4603
    java.lang.RuntimeException: …
Run Code Online (Sandbox Code Playgroud)

java android dependency-injection libgdx dagger

24
推荐指数
1
解决办法
530
查看次数

Java serialport关闭块

我与一个单元通信,通过串行连接控制卫星天线.

打开与串行设备的连接:

import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;

portIdentifier = CommPortIdentifier.getPortIdentifier(device);
serialPort = (SerialPort) portIdentifier.open(name, 
serialPort.setSerialPortParams(baudrate, databits, stopbits, parity);
serialPort.setFlowControlMode(flowMode);

bufferedReader = new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
outputStream = serialPort.getOutputStream();
Run Code Online (Sandbox Code Playgroud)

如果设备不可用,我必须在设备再次启动之前清除流,然后才能发送新命令.但是,如果设备关闭,输入/输出流上的这种清晰方法会阻塞.还关闭流,或关闭SerialDevice块.

有没有办法关闭/清除这些流或SerialDevice而不阻塞?

bufferedRead.close(); // blocks until device is up again
outputStream.close(); // blocks until device is up again
serialPort.close(); // blocks until device is up again
Run Code Online (Sandbox Code Playgroud)

java serial-port

22
推荐指数
1
解决办法
2441
查看次数

ActiveMQ故障转移传输 - 为什么这么多连接?

我们在经纪人网络中设置了4个ActiveMQ代理(每个代理在一个单独的服务器上运行).大约有60个生产者.生产者使用JDNI从Glassfish查找ActiveMQ连接工厂.

Glassfish中配置的ActiveMQ URI如下:

failover:(tcp://phxgapm01:61616,tcp://phxgapm02:61616,tcp://phxgapm03:61616,tcp://phxgapm04:61616)?randomize=true&backup=false&maxReconnectAttempts=8
Run Code Online (Sandbox Code Playgroud)

每个生成器进程执行javax.jms.ConnectionFactory的JNDI查找,然后创建1个javax.jms.Connection.当生成器运行时,它将定期创建一个javax.jms.Session和javax.jms.MessageProducer,将一些消息发送到队列,然后关闭Session和MessageProducer.

这就是所有背景 - 现在我的问题.从一些但不是所有的生产者,我们将看到如下的日志输出流:

2014-12-30 21:07:06,534 INFO  FailoverTransport    - Successfully connected to tcp://phxgapm03:61616 - [ActiveMQ Task-1]
2014-12-30 21:07:06,538 INFO  FailoverTransport    - Successfully connected to tcp://phxgapm04:61616 - [ActiveMQ Task-1]
2014-12-30 21:07:06,544 INFO  FailoverTransport    - Successfully connected to tcp://phxgapm02:61616 - [ActiveMQ Task-1]
2014-12-30 21:07:06,548 INFO  FailoverTransport    - Successfully connected to tcp://phxgapm04:61616 - [ActiveMQ Task-1]
2014-12-30 21:07:06,552 INFO  FailoverTransport    - Successfully connected to tcp://phxgapm01:61616 - [ActiveMQ Task-1]
2014-12-30 21:07:06,556 INFO  FailoverTransport    - Successfully connected to tcp://phxgapm02:61616 - [ActiveMQ Task-1] …
Run Code Online (Sandbox Code Playgroud)

java activemq-classic jms glassfish

20
推荐指数
1
解决办法
2431
查看次数

为cron作业配置Java GAE Appstats

我配置我web.xml为我的cron作业启用appstats.我的cron作业由URL上的servlet处理,http://myapp.appspot.com/cron/myjob每小时执行一次.

当我访问URL上的appstats管理界面时http://myapp.appspot.com/appstats/stats.我可以看到有关/appstats网址的统计信息,但不能查看/cron网址.我希望appstats每次执行cron作业时都能记录事件.这是我的web.xml:

<web-app>
    <!-- Servlets -->
    <filter>
        <filter-name>guiceFilter</filter-name>
        <filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>guiceFilter</filter-name>
        <url-pattern>*</url-pattern>
    </filter-mapping>
    <!-- AppStats -->
    <filter>
        <filter-name>appstats</filter-name>
        <filter-class>com.google.appengine.tools.appstats.AppstatsFilter</filter-class>
        <init-param>
            <param-name>logMessage</param-name>
            <param-value>Appstats available: /appstats/details?time={ID}</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>appstats</filter-name>
        <url-pattern>/cron/*</url-pattern>
    </filter-mapping>
    <!-- AppStats Servlet -->    
    <servlet>
        <servlet-name>appstats</servlet-name>
        <servlet-class>com.google.appengine.tools.appstats.AppstatsServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>appstats</servlet-name>
        <url-pattern>/appstats/*</url-pattern>
    </servlet-mapping>
<!--     <security-constraint>
        <web-resource-collection>
            <url-pattern>/appstats/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>admin</role-name>
        </auth-constraint>
    </security-constraint>  -->
    <!-- Default page to serve -->
</web-app>
Run Code Online (Sandbox Code Playgroud)

解决方案:我通过在Guice过滤器之前放置AppStats过滤器来修复它

java google-app-engine appstats

16
推荐指数
1
解决办法
687
查看次数