将 Togglz 与我的 Spring MVC 应用程序集成时出现异常。
例外
java.lang.IllegalStateException: Could not find the FeatureManager. For web applications please verify that the TogglzFilter starts up correctly. In other deployment scenarios you will typically have to implement a FeatureManagerProvider as described in the 'Advanced Configuration' chapter of the documentation.
org.togglz.core.context.FeatureContext.getFeatureManager(FeatureContext.java:53)
org.togglz.core.manager.LazyResolvingFeatureManager.getDelegate(LazyResolvingFeatureManager.java:24)
org.togglz.core.manager.LazyResolvingFeatureManager.getCurrentFeatureUser(LazyResolvingFeatureManager.java:49)
org.togglz.console.TogglzConsoleServlet.isFeatureAdmin(TogglzConsoleServlet.java:75)
org.togglz.console.TogglzConsoleServlet.service(TogglzConsoleServlet.java:62)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.togglz.servlet.TogglzFilter.doFilter(TogglzFilter.java:100)
Run Code Online (Sandbox Code Playgroud)
以下依赖项在 maven 中定义 -
<dependency>
<groupId>org.togglz</groupId>
<artifactId>togglz-core</artifactId>
<version>2.3.0.Final</version>
</dependency>
<!-- Spring integration (optional) -->
<dependency>
<groupId>org.togglz</groupId>
<artifactId>togglz-spring-web</artifactId>
<version>2.3.0.Final</version>
</dependency>
<!-- Togglz Admin Console -->
<dependency>
<groupId>org.togglz</groupId> …Run Code Online (Sandbox Code Playgroud) 我们有多线程 java 应用程序,它正在执行文件操作和初始化字符集编码,如下所示。
Charset charset;
CharsetDecoder decoder;
CharsetEncoder encoder;
String charsetCoding = CharsetUtil.getJVMCharset();
charset = Charset.forName(charsetCoding);
decoder = charset.newDecoder();
encoder = charset.newEncoder(); // Exception is thrown from this line
Run Code Online (Sandbox Code Playgroud)
我们最近开始在执行过程中随机看到下面的异常,当我们尝试重新处理同一个文件时,它被处理没有任何错误,谷歌没有帮助,因为我们找不到任何类似的错误,
Caused by: java.lang.IllegalArgumentException: Non-positive maxBytesPerChar
at java.nio.charset.CharsetEncoder.<init>(CharsetEncoder.java:175)
at java.nio.charset.CharsetEncoder.<init>(CharsetEncoder.java:209)
at sun.nio.cs.ISO_8859_1$Encoder.<init>(ISO_8859_1.java:116)
at sun.nio.cs.ISO_8859_1$Encoder.<init>(ISO_8859_1.java:113)
at sun.nio.cs.ISO_8859_1.newEncoder(ISO_8859_1.java:46)
at myClass.readFile
Run Code Online (Sandbox Code Playgroud)
感谢有人可以提供任何帮助,这方面的方向。
我似乎找不到 jdk 5 的完整源代码(我的源代码不包含 sun.* 包的代码)我反编译了 Encoder 类,但我看不出这怎么可能,因为代码正在传递硬编码值“1.0”在这里。
class ISO_8859_1$Encoder extends CharsetEncoder
{
private final Surrogate.Parser sgp = new Surrogate.Parser();
private ISO_8859_1$Encoder(Charset paramCharset)
{
super(paramCharset, 1.0F, 1.0F);
}
Run Code Online (Sandbox Code Playgroud)
我有 CharsetEncoder 的来源如下,即使编码器通过了 1.0,它的值也小于 …