WSO2身份服务器 - 并发问题

时间:2016-04-13 15:28:38

标签: wso2 wso2is

我们正在与WSO2 IS,v5.1.0合作。 测试时,我们得到以下结果:

  1. 运行一套测试时,一切正常。
  2. 当运行并发测试时,意思是 - 正在发送并发请求,我们得到了NPE。而且,我们得到了" 200"例如,在添加两个用户时,但在尝试查询和获取这两个用户时,我们收到一条消息,预计会有2个值但只返回1个。
  3. 知道如何解决这个问题?是什么造成的? 如果需要进一步的信息,请告诉我。

    谢谢!

1 个答案:

答案 0 :(得分:1)

现在我看..

您可以/必须修复WSO2 IS 5.1.0中的两个问题。

使用嵌入式JSP页面

首先 - 看看wso2server.bat / .sh和bin / yajsw / wrapper.conf的参数有所不同。在wrapper.conf中添加:

wrapper.java.additional.27 = -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING = false

请更改参数顺序以适合您的参数列表

StringUtil包依赖

NPE堆栈跟踪正在播放中,如果没有它,您无法确定准确的问题。显然,一些UI包具有指定的无效依赖项,特别是没有为使用的Commons-Lang StringUtil包指定依赖项。

我们通过以下行动解决了这个问题:

  • 将commons-lang-2.6.jar下载并复制到repository / components / dropins
  • 创建一个新的OSGi包(假设您了解Java以及如何创建OSGi包片段),它们导入 org.apache.commons.lang; version =“[2.6,3)”并且是片段到 org.wso2.carbon.identity.mgt.ui 包。将此捆绑包复制到dropins文件夹。
  • 创建一个新的OSGi包,它导入 org.apache.commons.lang; version =“[2.6,3)”,并且是 org.wso2.carbon.identity的片段.application.mgt.ui 捆绑。将此捆绑包复制到dropins文件夹。

修改

生成捆绑包的maven插件的一部分

        <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <version>2.3.7</version>
            <extensions>true</extensions>
            <configuration>
                <instructions>
                    <Fragment-Host>org.wso2.carbon.identity.application.mgt.ui</Fragment-Host>
                    <Import-Package>org.apache.commons.lang.*</Import-Package>
                    <!--
                    <Export-Package>org.apache.commons.lang.*</Export-Package>
                    <Embed-Dependency>commons-lang</Embed-Dependency>
                    -->
                </instructions>
            </configuration>
        </plugin>

有多个捆绑包存在此问题,但为了使IS 5.1.0可用,至少需要修复这些捆绑包。

在所有情况下,这个答案仍然基于假设和我们的经验而不是证据(堆栈跟踪)。