我正在尝试实现以下,但我的authenticationManager实例抛出以下异常并且没有自动装配.如何手动从Spring获取它的实例?我没有使用弹簧控制器,我正在使用JSF请求范围的bean.当容器尝试自动装配authenticationManager时,我在运行时得到以下异常.requestCache很好.我不明白为什么我有两个实例......
配置:
<authentication-manager>
<authentication-provider user-service-ref="userManager">
<password-encoder ref="passwordEncoder" />
</authentication-provider>
</authentication-manager>
Run Code Online (Sandbox Code Playgroud)
注入自动连接的依赖项失败; 嵌套异常是org.springframework.beans.factory.BeanCreationException:无法自动装配字段:protected org.springframework.security.authentication.AuthenticationManager com.dc.web.actions.SignUpDetail.authenticationManager; 嵌套异常是org.springframework.beans.factory.NoSuchBeanDefinitionException:没有定义类型为[org.springframework.security.authentication.AuthenticationManager]的唯一bean:期望的单个匹配bean但找到2:[org.springframework.security.authentication.ProviderManager #0,org.springframework.security.authenticationManager] javax.faces.webapp.FacesServlet.service(FacesServlet.java:325)
@Controller
public class SignupController
{
@Autowired
RequestCache requestCache;
@Autowired
protected AuthenticationManager authenticationManager;
@RequestMapping(value = "/account/signup/", method = RequestMethod.POST)
public String createNewUser(@ModelAttribute("user") User user, BindingResult result, HttpServletRequest request, HttpServletResponse response)
{
//After successfully Creating user
authenticateUserAndSetSession(user, request);
return "redirect:/home/";
}
private void authenticateUserAndSetSession(User user,
HttpServletRequest request)
{
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(
user.getUsername(), user.getPassword());
// generate session if one doesn't exist
request.getSession();
token.setDetails(new WebAuthenticationDetails(request)); …Run Code Online (Sandbox Code Playgroud) 您将如何设计基于REST的Web服务,以接收形式的图像文件InputStream?如果将InputStream其发布到REST端点,那么该端点如何接收它以便它可以创建图像文件?
我正在尝试在Java中运行时加载linux .so文件,但我得到了一个UnsatisfiedLinkError.当我从Test.class运行下面的java main时,我正在传递-Djava.library.path =/Users/tom/codebase/jni/dist VM参数.libSample.so文件位于/ Users/tom/codebase/jni/dist目录中.有任何想法吗?谢谢!
public class Test {
public static void main(String[] args) {
System.out.println(System.getProperty("java.library.path"));
//prints /Users/tom/codebase/jni/dist
System.loadLibrary("Sample");
}
}
Run Code Online (Sandbox Code Playgroud)
VM参数:
-Djava.library.path=/Users/tom/codebase/jni/dist
Run Code Online (Sandbox Code Playgroud)
例外:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no Sample in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1758)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1045)
at Test.main(Test.java:9)
Run Code Online (Sandbox Code Playgroud)
我也尝试使用try直接方法(使用System.load)并得到以下结果,如果这些帮助线程"main"中的任何异常java.lang.UnsatisfiedLinkError:/Users/tom/codebase/jni/dist/libSample.so :找不到合适的图像.找到:/Users/tom/codebase/jni/dist/libCiscoEnergyWiseJni.so:未知文件类型,前八个字节:0x7F 0x45 0x4C 0x46 0x01 0x01 0x01 0x00
我有一个C函数,它返回一个表示二进制数据的unsigned char*.我在文档中注意到SWIG有一个很好的类型映射来处理二进制数据作为C函数的输入,但是当C函数返回二进制数据及其无符号时呢?有任何想法吗?
swig.i:
%apply (char *STRING, size_t LENGTH) { (const char data[], size_t len) }
%inline %{
void binaryChar1(const char data[], size_t len) {
printf("len: %d data: ", len);
for (size_t i=0; i<len; ++i)
printf("%x ", data[i]);
printf("\n");
}
%}
Run Code Online (Sandbox Code Playgroud)
Java的:
byte[] data = "hi\0jk".getBytes();
example.binaryChar1(data);
Run Code Online (Sandbox Code Playgroud)
C示例:
enw_resultrow_t *result_row = getResultRow();
unsigned char *blob;
while ((blob = getBinaryFromRow(result_row, &length))) {
char fname[32];
FILE *fp;
i++;
snprintf (fname, sizeof(fname), "FileXYZ", i);
printf ("Blob from %d:%s is saved in %s has %d …Run Code Online (Sandbox Code Playgroud) 我在尝试为Linux发行版构建Python RPM包时遇到以下错误.我在这个过程中看到警告,但我不认为那些与"-ba:未知错误"有关,任何想法如何让它运行?
错误:
bdist_rpm -ba: unknown option error: command 'rpm' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)
我正在运行以下python setup.py脚本:
setup(
name='Tester',
version='0.1.0',
author='My Name',
author_email='emailaddress@gmail.com',
packages=['tester'],
license='LICENSE.txt',
description='IMAP Email Reader.',
long_description=open('README.txt').read(),
install_requires=[
"Django >= 1.1.1",
"caldav == 0.1.4",
],
)
Run Code Online (Sandbox Code Playgroud)
当我运行python setup.py bdist_rpm时,它会创建一个Tester.spec文件~/Tester/build/bdist.linux-x86_64/rpm/SPECS directory:
%define name Tester
%define version 0.1.0
%define unmangled_version 0.1.0
%define release 1
Summary: Email Reader.
Name: %{name}
Version: %{version}
Release: %{release}
Source0: %{name}-%{unmangled_version}.tar.gz
License: LICENSE.txt
Group: Development/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
Prefix: %{_prefix}
BuildArch: noarch
Vendor: …Run Code Online (Sandbox Code Playgroud) 我需要发送一个byte []来休息Web服务端点,我想知道如何使用HTTPClient的PostMethod设置请求,任何想法?
我在Linux服务器上安装了用于Java EE开发人员的32位Linux版Eclipse,并且我在从Linux机器启动eclipse时遇到问题.我编辑了我eclipse.ini并添加了vmJava路径(见下文):
例外:
(Eclipse:22632):Gtk-WARNING**:未设置GtkWindow的屏幕; 在使用窗口之前,您必须始终为GtkWindow设置屏幕
eclipse.ini文件:
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.100.v20110505
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
/opt/bin/java
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
Run Code Online (Sandbox Code Playgroud) 下面的getCategory方法似乎非常多余,我想知道是否有人有一些关于重构它的建议,以使其更清洁可能使用Enum.基于传入的"val",我需要getCategory从Category类返回正确的Category实例.Category类是生成的JNI代码,所以我不想改变它.有人有主意吗?
要重构的方法:
private Category getCategory(String val) throws Exception{
Category category;
if (val.equalsIgnoreCase("producer")) {
usageCategory = Category.CATEGORY_PRODUCER;
} else if (val.equalsIgnoreCase("meter")) {
usageCategory = Category.CATEGORY_METER;
} else if (val.equalsIgnoreCase("consumer")) {
usageCategory = Category.CATEGORY_CONSUMER;
} else {
throw new Exception("Invalid value: " + val);
}
return usageCategory;
}
Run Code Online (Sandbox Code Playgroud)
Category.java:生成的JNI(无法更改):
public final class Category {
public final static Category CATEGORY_PRODUCER = new Category("CATEGORY_PRODUCER", SampleJNI.CATEGORY_PRODUCER_get());
public final static Category CATEGORY_METER = new Category("CATEGORY_METER", SampleJNI.CATEGORY_METER_get());
public final static Category CATEGORY_CONSUMER = new Category("CATEGORY_CONSUMER", SampleJNI.CATEGORY_CONSUMER_get());
}
Run Code Online (Sandbox Code Playgroud) 我正在使用带有JPA的Spring 3,我在Web应用程序中看到了一个间歇性的问题.我有JPA EntityManager的包装器,它调用底层的EntityManager crud方法.我有时候看到NPE entityManager.persist(object);它看起来数据库连接丢失但是我不是100%是什么原因.任何人都有关于可能导致以下异常的详细信息?
春季版:3.0.6.RELEASE
Spring 3 LazyConnectionDataSourceProxy.java第416行:
if (this.autoCommit != null && this.autoCommit != this.target.getAutoCommit()) {
this.target.setAutoCommit(this.autoCommit);
}
Run Code Online (Sandbox Code Playgroud)
例外:
Caused by: java.lang.NullPointerException
at org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy$LazyConnectionInvocationHandler.getTargetConnection(LazyConnectionDataSourceProxy.java:416)
at org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy$LazyConnectionInvocationHandler.invoke(LazyConnectionDataSourceProxy.java:376)
at $Proxy64.prepareStatement(Unknown Source)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
at org.hibernate.jdbc.AbstractBatcher.prepareSelectStatement(AbstractBatcher.java:145)
at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:96)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:122)
at org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49)
at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:154)
at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:110)
at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:61)
at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:646)
at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:620)
at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:624)
at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:220)
at sun.reflect.GeneratedMethodAccessor101.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)
at $Proxy79.persist(Unknown Source)
at myapp.api.dao.impl.GenericDAOImpl.save(GenericDAOImpl.java:50)
at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at …Run Code Online (Sandbox Code Playgroud) 我有一个代码分析工具,它LinkedHashSet<String> widgetsToCreate = new LinkedHashSet<String>();在下面的方法中标记了这一行,是否有任何关于修复满足分析工具的逻辑的想法?
死店到本地变量:
此指令为局部变量赋值,但不会在任何后续指令中读取或使用该值.通常,这表示错误,因为从未使用计算的值.请注意,Sun的javac编译器通常会为最终的局部变量生成死存储.因为FindBugs是一个基于字节码的工具,所以没有简单的方法来消除这些误报.
public void add(Map<String, String> input) {
TreeSet<String> widgetsToAdd = new TreeSet<String>();
TreeSet<String> widgetsToUpdate = new TreeSet<String>();
LinkedHashSet<String> widgetsToCreate = new LinkedHashSet<String>();
for (Map.Entry<String, String> entry : input.entrySet()) {
//logic to add to widgetsToAdd based on content of the input Map
}
widgetsToCreate = processInput(widgetsToAdd);
for (Iterator<String> wIterator = widgetsToCreate.iterator(); wIterator.hasNext();) {
//process each widgetsToCreate
}
}
Run Code Online (Sandbox Code Playgroud)