小编c12*_*c12的帖子

手动获取AuthenticationManager的实例

我正在尝试实现以下,但我的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)

spring spring-security

8
推荐指数
1
解决办法
3万
查看次数

创建Rest Web服务以接收映像

您将如何设计基于REST的Web服务,以接收形式的图像文件InputStream?如果将InputStream其发布到REST端点,那么该端点如何接收它以便它可以创建图像文件?

java rest jax-rs resteasy

7
推荐指数
2
解决办法
2万
查看次数

在Java运行时加载Linux .so文件

我正在尝试在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

java dynamic-linking

7
推荐指数
1
解决办法
1万
查看次数

SWIG技术包装无符号二进制数据

我有一个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)

swig

7
推荐指数
1
解决办法
2637
查看次数

Python bdist_rpm -ba:未知选项错误:命令'rpm'失败,退出状态为1

我在尝试为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)

python rpm

7
推荐指数
1
解决办法
2351
查看次数

用于byte []的HTTPClient PostMethod

我需要发送一个byte []来休息Web服务端点,我想知道如何使用HTTPClient的PostMethod设置请求,任何想法?

java apache-commons-httpclient

6
推荐指数
1
解决办法
1万
查看次数

在Linux上安装Eclipse - 未设置GtkWindow的屏幕

我在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)

java eclipse linux

6
推荐指数
1
解决办法
5864
查看次数

使用Enum进行Java方法重构

下面的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)

java

5
推荐指数
2
解决办法
575
查看次数

Spring 3 NPE与LazyConnectionDataSourceProxy autoCommit

我正在使用带有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)

spring

5
推荐指数
1
解决办法
1301
查看次数

代码分析失败:死存储到局部变量

我有一个代码分析工具,它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)

java

5
推荐指数
1
解决办法
2万
查看次数