Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WSO2标识服务器-并发问题_Wso2_Wso2is - Fatal编程技术网

WSO2标识服务器-并发问题

WSO2标识服务器-并发问题,wso2,wso2is,Wso2,Wso2is,我们正在使用WSO2 IS v5.1.0。 测试时,我们得到以下结果: 当运行一组测试时,所有测试都正常工作 当运行并发测试时,意味着并发请求被发送,我们得到了NPE。此外,例如,我们在添加两个用户时得到了“200”,但当尝试查询并获取这两个用户时,我们得到一条消息,预期值为2,但只返回1 你知道我该如何解决这个问题吗?是什么原因造成的? 如果需要更多信息,请告诉我 谢谢 现在我明白了 WSO2 IS 5.1.0中有两个问题需要解决 使用嵌入式JSP页面 首先,看看wso2server.bat/

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

  • 当运行一组测试时,所有测试都正常工作
  • 当运行并发测试时,意味着并发请求被发送,我们得到了NPE。此外,例如,我们在添加两个用户时得到了“200”,但当尝试查询并获取这两个用户时,我们得到一条消息,预期值为2,但只返回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\u QUOTE\u ESCAPING=false

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

    StringUtil捆绑依赖关系

    这里是NPE stacktrace,如果没有它,你就无法准确地找出问题所在。显然,某些UI捆绑包指定了无效的依赖项,特别是没有为所使用的Commons Lang StringUtil包指定依赖项

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

    • 下载commons-lang-2.6.jar并将其复制到存储库/组件/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>
    
    
    org.apache.felix
    maven捆绑插件
    2.3.7
    真的
    org.wso2.carbon.identity.application.mgt.ui
    org.apache.commons.lang*
    
    有多个捆绑包存在此问题,但要使IS 5.1.0可用,至少需要修复这些捆绑包

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


    g

    您有这个NPE的stacktrace吗?没有编写stacktrace,但我会在NPE之前附加几行:
    输入deleteAttachments(){org.apache.axis2.transport.TransportUtils}退出deleteAttachments(){org.apache.axis2.transport.TransportUtils}读取应用程序2816的角色映射{org.wso2.carbon.identity.application.mgt.dao.impl.ApplicationDAOImpl}设置配置系统注册表实例。{org.wso2.carbon.context.PrivilegedCarbonContext}设置治理系统注册表实例。{org.wso2.carbon.context.PrivilegedCarbonContext}{org.apache.axis2.transport.http.AxisServlet}java.lang.NullPointerException
    要给出合理的提示,需要更多信息。它是单节点/群集环境吗?使用了什么数据存储?是否更新了任何声明定义?是否作为(包装器)运行is服务?最重要的是stacktrace。@GabrielVince这是一个单节点环境。我们使用MySQL作为数据存储。我们没有配置默认声明(我们使用默认声明..我们应该配置吗?)。我们将IS作为服务运行。关于stacktrace,当NPE发生时,我们没有得到任何信息,我在上面的注释中附加了日志中先前的消息(日志处于跟踪模式)。谢谢!!我想提一件更重要的事情-在一个特定的情况下,当我们尝试为一个角色附加权限时,会出现此错误。例如,我们尝试为一个角色附加两个权限。有时两个权限都已添加,有时一个已添加,另一个未添加,有时两个都未添加。在所有情况下,我们都得到“200”消息。此外,添加权限也会导致一些问题-有时在向系统添加新权限时会删除所有现有权限。首先-非常感谢您提供的详细答案!!我按照您在“使用嵌入式JSP页面”部分中所写的做了。我不知道它是否相关,但突然我可以看到stacktrace。这里它是:不,即使在信息/错误级别上,wso2carbon.log中仍然需要更多。你是对的。我改为错误日志级别。下面是完整的堆栈跟踪:当尝试更新用户角色的权限时,是否存在已知的并发性问题?确实,它在并发性方面存在一些问题,但事实并非如此。在这种情况下,我敢打赌你必须修复一些数据库设置以解决DB死锁。尝试搜索stacktrace中看到的mysql异常