在我的openSUSE Leap 42.3服务器上,在嵌入式Tomcat服务器上的Spring Boot 2.0.0.M6应用程序启动期间,我在日志中看到以下错误:
ERROR 30471 --- [main] o.a.catalina.core.AprLifecycleListener: An incompatible version [1.1.34] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
Run Code Online (Sandbox Code Playgroud)
你可以解释一下应该在那里修复什么(以及在哪里)以避免这个错误?
我正在尝试在JBoss 7.1.1中启用JBoss Web Native库.我已经阅读了这个问题和答案,并尝试了以下步骤来启用JBoss中的本机库,但到目前为止它还没有工作.我在OS X上:
bin/native.bin/standalone.conf以包含库路径:JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/path/to/jboss-as-7.1.1.Final-native/bin/native:$PATH"启动JBoss,我仍然可以在日志文件中看到以下内容:
[org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-1) Starting Coyote HTTP/1.1 on http-localhost-127.0.0.1-8080
Run Code Online (Sandbox Code Playgroud)
而不是预期的Http11AprProtocol.
我错过了什么?
我正在尝试使用C++编写的一些功能来与位于Linux机器上的Apache ActiveMQ(本机使用JMS)进行通信.为了建立这种连接,我试图在我的Windows 7机器(开发机器)上设置Apache ActiveMQ-CPP,但我目前面临一些重大问题.
据我了解ActiveMQ的-CPP具有依赖于Apache的便携式运行/ APR,如前所述这里.我的问题是,我甚至无法构建APR,因此无法开始使用ActiveMQ-CPP.我已经按照本指南的说法,在并行目录中设置,将版本名称重命名为标准名称,并将启动项目更改为libaprutil(使用动态库),但没有任何运气.在构建APR解决方案时,27个项目中只有13个成功.我也尝试使用静态aprutil项目构建解决方案作为启动项目,但没有任何改进.
解决方案是确保为Visual Studio 6提供更广泛的兼容性,因此我怀疑使用Visual Studio 2010来解决我的问题.即使升级项目应该是可能的(如APR文档所述),在使用升级助手并尝试构建整个解决方案之后,我有几个(我认为是)缺少项目中的依赖项,请参阅第1个screendump.许多错误与文件iconv_module.obj(error LNK2019: unresolved external symbol xxx referenced in function _iconv_getpath C:\work\apr-iconv\iconv_module.obj)有关,如下面的工具提示所示C:\work\apr-iconv.该文件实际上位于不同的子文件夹中,具体取决于构建格式(我选择了"Release"和"Win32"),但我不确定这是否实际上是一个问题.
我应该提一下,我对C++完全不熟悉并且对C的经验非常有限,所以也许只是手动链接我不理解的依赖...如果打开所提到的文件并查看所述的函数然而,错误消息,代码显然也是错误的,所以也许它不是依赖关系,请看两个screendump.
关于可能的解决方案我被建议尝试手动一次构建每个项目,而不是一次完成整个解决方案,因此首先构建不依赖于任何内容的库,依此类推.然而,这也没有成功.
也应该可以使用命令行来构建项目,这对某些人来说就是技巧(链接).在新版本的Visual Studio中,"msdev"似乎被"devenv"所取代,但是考虑到这一点,构建仍然会在使用查找和替换之后抱怨"找不到msdev"......也许不是最好的解决方法,对吧?
在搜索有类似问题的帖子时,我肯定并不孤单,但不幸的是,没有一个建议的解决方案能为我做到这一点.有些我看着帖子是:编译Apache APR在Windows和ActiveMQ的-CPP和Visual Studio 2003.
您是否有任何使用较新版本的Visual Studio或Windows命令行构建APR的经验?或者更重要的是,让ActiveMQ-CPP在Windows上运行?
截图:

我们可以在tomcat中配置OCSP,
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11AprProtocol"
secure="true" scheme="https"
SSLEnabled="true" SSLCertificateFile="/path/to/ocsp-cert.crt"
SSLCertificateKeyFile="/path/to/ocsp-cert.key"
SSLCACertificateFile="/path/to/ca.pem"
SSLVerifyClient="require"
SSLVerifyDepth="10"
clientAuth="true"/>
Run Code Online (Sandbox Code Playgroud)
如tomcat文档中所述,https://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html#Using_OCSP_Certificates
但是根据该文档,无论是在服务器端(用于撤销客户端证书)还是在客户端(用于撤销服务器证书),我都没有得到执行OCSP的地方?
这是我的第一个问题.如果我犯了错误,只需指出它,我下次就会改进它.我是Java Dev,是Linux的新手.我在带有Tomcat 7的VPS上部署我的Spring MVC应用程序,并使用nginx作为代理服务器.在互联网上冲浪几天后,我发现它可能是一个很好的组合,而不是使用带有apache的tomcat.我将更多地了解nginx可以做些什么.目前,nginx处理来自客户端的SSL,Tomcat位于同一台机器上,并作为具有HTTP连接器的后端服务器(Tomcat和Nginx之间没有SSL).我也使用limit_req模块作为基本的HTTP Flood保护.当使用Tomcat作为Web服务器时,我也了解APR - Tomcat本机库.每当我启动我的tomcat时,它都说我的APR没有找到.
我的nginx conf:
server {
listen 443 ssl;
server_name domain;
ssl on;
ssl_certificate /etc/nginx/ssl/domain.crt;
ssl_certificate_key /etc/nginx/ssl/domain.key;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarfed-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name domain;
return 301 https://$server_name$request_uri;
}
Run Code Online (Sandbox Code Playgroud) 升级到优胜美地后,svn停止在我的Mac上工作.我知道有一个非常相似的问题,没有答案, 分段错误:SVN结账时有11个,但是我花了整整一天的时间用这个,我正在添加更多关于这个问题的信息.我希望有人可以帮助......我真的被卡住了.我无法升级svn,我打算回到小牛队.
我得到的错误:
svn update
Segmentation fault: 11
Run Code Online (Sandbox Code Playgroud)
我已经使用自己编译的二进制文件(虽然不太熟悉C)使用svn.几个月前,Xcode的更新删除了旧的旧版svn 1.6.
这次与优胜美地,当我再次尝试编译时,我已经看到os更新已修改apache,APR并且源不再编译(或者至少这是我从我得到的错误的猜测):
/bin/sh /mnt/netzima/icaria/apps/subversion-1.6.6/libtool --tag=CC --silent --mode=compile gcc -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp -g -O2 -g -O2 -I/usr/include/apache2 -I./subversion/include -I./subversion -I/usr/local/apr/include/apr-1 -I/usr/local/apr-util/include/apr-1 -I/opt/local/include/neon -o subversion/mod_authz_svn/mod_authz_svn.lo -c subversion/mod_authz_svn/mod_authz_svn.c
subversion/mod_authz_svn/mod_authz_svn.c:448:9: error: member reference base type 'char' is not a structure or union
ap_log_rerror(file, line, level, 0, r,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)
我已经下载make install了以下内容:
我希望这些版本与svn 1.6.6兼容,因为,正如我之前提到的,我的猜测是它与最新版本不再兼容.
在其他方面使用我下载的那些软件包,我不得不在configure命令中添加选项.对于apr-util,我必须像这样配置:
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
Run Code Online (Sandbox Code Playgroud)
至于apache:
./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --prefix=/usr/local/apache2 --enable-dav …Run Code Online (Sandbox Code Playgroud) 服务器.xml
<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="4000"
redirectPort="8443" />
Run Code Online (Sandbox Code Playgroud)
Tomcat日志
Oct 12, 2016 3:11:41 PM org.apache.catalina.core.AprLifecycleListener init
SEVERE: An incompatible version 1.1.27 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.32
Oct 12, 2016 3:11:41 PM org.apache.catalina.core.StandardService initInternal
SEVERE: Failed to initialize connector [Connector[HTTP/1.1-8080]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:560)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:838)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:642)
at org.apache.catalina.startup.Catalina.load(Catalina.java:667)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:253)
at …Run Code Online (Sandbox Code Playgroud) 这是 server.xml 中的连接器:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="150"
SSLEnabled="true"
scheme="https"
compression="off"
connectionTimeout="1190"
address="0.0.0.0"
>
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
<SSLHostConfig>
<Certificate certificateKeyFile="/etc/ssl/certs/private.key"
certificateFile="/etc/ssl/certs/public.pem"
/>
</SSLHostConfig>
</Connector>
Run Code Online (Sandbox Code Playgroud)
此连接器的目标是通过 HTTP2 和 APR 以及 HTTPS 提高速度。
我们使用操作系统包 tomcat-native 安装了 tomcat native。
启动时的日志输出:
信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 使用 APR 版本 [1.6.3] 加载基于 APR 的 Apache Tomcat 本机库 [1.2.16]。
信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR 功能:IPv6 [true]、sendfile [true]、接受过滤器 [false]、随机 [true]。
INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL 配置:useAprConnector [false],useOpenSSL [true]
一切看起来都很棒,除了useAprConnector [false]
那么APR真的在做什么吗?
我在相关文档中找不到任何内容:
https://tomcat.apache.org/tomcat-8.0-doc/config/http.html#SSL_Support
我对 Apache Portable Runtime 库(版本 1.4)进行以下调用:
result = apr_file_open(
&file, // new file handle
pathname, // file name
APR_FOPEN_CREATE | // create file if not there
APR_FOPEN_EXCL | // error if file was there already
APR_FOPEN_APPEND | // move to end of file on open
APR_FOPEN_BINARY | // binary mode (ignored on UNIX)
APR_FOPEN_XTHREAD | // allow multiple threads to use file
0, // flags
APR_OS_DEFAULT |
0, // permissions
pool // memory pool to use
);
if ( APR_SUCCESS …Run Code Online (Sandbox Code Playgroud) 好.我是这个网站的新手所以"Hello All"!好吧,我上周一直在努力解决一个棘手的问题,我很感激你能给我的任何帮助.
我知道有很多公式来计算APR,但我已经测试了很多公式,他们没有适当地处理封闭式(消费者贷款)的Odd-Days.政府试图通过在他们的真实借贷法案中公布附录J,给予我们凡人一些帮助.它可以在这里找到:https://www.fdic.gov/regulations/laws/rules/6500-3550.html
如果你很勇敢(!!),你可以看到他们提供的公式将解决APR,包括贷款的奇数天数.奇数天是贷款开始时的天数,并不是定期付款确实涵盖的,但仍在支付利息.例如,您在2012年1月20日以1,000.00美元的价格获得贷款,并且您的第一笔付款是03/01/2012.从2012年1月20日到2012年1月30日,您有10个奇数日.他们的计算所有月份都是30天.
我所希望的是具有重要微积分背景的人,他可以解释你在附录J中找到的公式.并解释他们用来解决这些公式的精算方法.我理解迭代过程.我首先尝试使用Newton-Raphson方法解决这个问题,但我的APR公式没有考虑奇数天.它在不可能出现的奇怪案例中表现得很好,但没有奇怪的日子,但却在奇数日里挣扎.
我知道阅读这份文件非常困难!我已经取得了一些进展,但有些事情我无法弄清楚他们是怎么做的.他们似乎通过魔术引入了一些东西.
无论如何,提前感谢您的帮助!:)