小编gst*_*low的帖子

项目中hibernate.cfg.xml的位置?

我创建了一个具有以下结构的项目:

在此输入图像描述

HibernateUtil中:

public class HibernateUtil {

    private static final SessionFactory sessionFactory = buildSessionFactory();

    private static SessionFactory buildSessionFactory() {
        try {
            // Create the SessionFactory from hibernate.cfg.xml
            Configuration  configuration = new Configuration().configure( "C:\\Users\\Nikolay_Tkachev\\workspace\\hiberTest\\src\\logic\\hibernate.cfg.xml");
            return new Configuration().configure().buildSessionFactory();
        } catch (Throwable ex) {
            // Make sure you log the exception, as it might be swallowed
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }

    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }

    public static void shutdown() {
        // Close caches and …
Run Code Online (Sandbox Code Playgroud)

java orm hibernate

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

在spring mvc中重定向后,从控制器传递参数的方法是什么?

如果我用mycontroller方法写:

return  "redirect:url";
Run Code Online (Sandbox Code Playgroud)

什么参数将传递给url(它可能是controler方法或jsp页面)?

java redirect spring spring-mvc

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

避免在JMS/ActiveMQ上重复的消息

有一种方法可以抑制ActiveMQ服务器上定义的队列上的重复消息吗?

我尝试手动定义JMSMessageID,(message.setJMSMessageID("uniqueid")),但服务器忽略此修改并传递带有内置生成的JMSMessageID的消息.

根据规范,我没有找到关于如何重复删除邮件的参考.

在HornetQ中,为了解决这个问题,我们需要在消息定义上声明HQ特定属性org.hornetq.core.message.impl.HDR_DUPLICATE_DETECTION_ID.

即:

Message jmsMessage = session.createMessage();
String myUniqueID = "This is my unique id"; // Could use a UUID for this
message.setStringProperty(HDR_DUPLICATE_DETECTION_ID.toString(), myUniqueID);
Run Code Online (Sandbox Code Playgroud)

有人知道ActiveMQ是否有类似的解决方案?

java activemq-classic jms duplicates mom

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

如何在spring-security中注销所有登录用户?

我希望能够以编程方式注销所有登录用户.如何在某些事件上强制注销所有用户?

java authentication spring spring-security logout

19
推荐指数
1
解决办法
5461
查看次数

Java 8可以动态实现接口以供方法参考吗?

我学习了Java 8的新功能.

我正在玩不同的例子,我发现了一个奇怪的行为:

public static void main(String[] args) {       
    method(Test::new);
}
static class Test{
}

private static void method(Supplier<Test> testSupplier){
    Test test = testSupplier.get();
}
Run Code Online (Sandbox Code Playgroud)

这段代码编译成功,但我不知道它是如何工作的.

为什么可以Test::new接受供应商?

供应商界面看起来很简单:

@FunctionalInterface
public interface Supplier<T> {    
    T get();
}
Run Code Online (Sandbox Code Playgroud)

java java-8 method-reference constructor-reference

19
推荐指数
2
解决办法
2774
查看次数

如何显示本地h2数据库(Web控制台)的内容?

最近我加入了一个新的团队,这里的人们使用h2进行存根服务.

我想知道我是否可以使用Web界面显示此数据库的内容.在工作中,它可以去localhost:5080

我有一个使用h2数据库的项目,但是当我点击时我看不到h2 web控制台 localhost:5080

我也试过localhost:8082- 它也行不通.

我的项目配置(成功运行):

     <bean id="wrappedDataSource" class="net.bull.javamelody.SpringDataSourceFactoryBean">
        <property name="targetName" value="dataSource" />
     </bean>

     <bean id="wrappedDataSource" class="net.bull.javamelody.SpringDataSourceFactoryBean">
            <property name="targetName" value="dataSource" />
        </bean>

        <bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource">
            <property name="driverClassName" value="org.h2.Driver" />
            <property name="url" value="jdbc:h2:~/test;MODE=PostgreSQL" />
            <property name="username" value="sa" />
            <property name="password" value="" />
        </bean>

        <bean id="sessionFactory"
              class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
            <property name="dataSource" ref="wrappedDataSource"/>
            <property name="configLocation">
                <value>classpath:hibernate-test.cfg.xml</value>
            </property>
            <property name="hibernateProperties">
                <props>
                    <prop key="hibernate.show_sql">false</prop>
                    <prop key="hibernate.connection.charSet">UTF-8</prop>
                    <prop key="hibernate.format_sql">true</prop>
                    <prop key="hbm2ddl.auto">create-drop</prop>
                </props>
            </property>
        </bean>

        <context:property-placeholder location="classpath:jdbc.properties"/>
Run Code Online (Sandbox Code Playgroud)

我没有想法如何访问h2 web控制台.请帮忙.

PS

我只在.m2文件夹中看到提到h2 …

java orm spring h2 h2db

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

Spring中的作用域代理是什么?

正如我们所知道Spring使用代理来增加功能(@Transactional@Scheduled举例)。有两种选择-使用JDK动态代理(该类必须实现非空接口),或使用CGLIB代码生成器生成子类。我一直认为proxyMode允许我在JDK动态代理和CGLIB之间进行选择。

但是我能够创建一个示例,说明我的假设是错误的:

情况1:

单身人士:

@Service
public class MyBeanA {
    @Autowired
    private MyBeanB myBeanB;

    public void foo() {
        System.out.println(myBeanB.getCounter());
    }

    public MyBeanB getMyBeanB() {
        return myBeanB;
    }
}
Run Code Online (Sandbox Code Playgroud)

原型:

@Service
@Scope(value = "prototype")
public class MyBeanB {
    private static final AtomicLong COUNTER = new AtomicLong(0);

    private Long index;

    public MyBeanB() {
        index = COUNTER.getAndIncrement();
        System.out.println("constructor invocation:" + index);
    }

    @Transactional // just to force Spring to create a proxy
    public long getCounter() {
        return index;
    }
} …
Run Code Online (Sandbox Code Playgroud)

java proxy singleton spring dynamic-proxy

19
推荐指数
1
解决办法
377
查看次数

当我从JDK调试类文件时,为什么Eclipse不显示局部变量值?

我想调试.class文件.例如来自JDK的一些.我下载了源代码并附上了它们.

public File[] listFiles(FilenameFilter paramFilenameFilter)
{
   String[] arrayOfString = list(); // now we here
   if (arrayOfString == null) return null;
   ....
}
Run Code Online (Sandbox Code Playgroud)

然后我键入F6并移动到下一行.在那之后,我试着看看它的价值,arrayOfString但我看到以下内容:

表达视图:

情况是正常的吗?有没有办法调试?

更新1:

在此输入图像描述


更新2:

在此输入图像描述

更新3:

在此输入图像描述

java eclipse debugging .class-file

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

Java 8 LocalDateTime和Hibernate 4

我有以下类描述片段:

... 
@Column(name = "invalidate_token_date")
@Temporal(TemporalType.TIMESTAMP)
private LocalDateTime invalidateTokenDate;
....
Run Code Online (Sandbox Code Playgroud)

此代码不起作用,因为@Temporal不支持LocalDateTime.我看到的建议如何使用LocalDateTime乔达时间,但我使用Java 8.

请给我一些建议.


PS
这是我目前的JPA依赖:

<dependency>
    <groupId>javax.persistence</groupId>
    <artifactId>persistence-api</artifactId>
    <version>1.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

hibernate date java-8

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

为什么在静态初始化器中使用并行流会导致不稳定的死锁

注意:这是不是重复,请仔细阅读题目сarefully /sf/users/241389361/报价:

真正的问题是为什么代码有时会起作用.即使没有lambdas,问题也会重现.这让我觉得可能存在JVM错误.

/sf/answers/3759645221/的评论中,我试图找出原因,为什么代码的行为从一个开始到另一个不同,并且该讨论的参与者给了我一些建议来创建一个单独的主题.

不要考虑以下源代码:

public class Test {
    static {
        System.out.println("static initializer: " + Thread.currentThread().getName());

        final long SUM = IntStream.range(0, 5)
                .parallel()
                .mapToObj(i -> {
                    System.out.println("map: " + Thread.currentThread().getName() + " " + i);
                    return i;
                })
                .sum();
    }

    public static void main(String[] args) {
        System.out.println("Finished");
    }
}
Run Code Online (Sandbox Code Playgroud)

有时(几乎总是)它会导致死锁.

输出示例:

static initializer: main
map: main 2
map: ForkJoinPool.commonPool-worker-3 4
map: ForkJoinPool.commonPool-worker-3 3
map: ForkJoinPool.commonPool-worker-2 0
Run Code Online (Sandbox Code Playgroud)

但有时它会成功完成(非常罕见):

static initializer: main
map: main 2
map: main …
Run Code Online (Sandbox Code Playgroud)

java concurrency deadlock jvm-hotspot static-initialization

18
推荐指数
1
解决办法
894
查看次数