小编Anu*_*pta的帖子

了解与h2数据库的连接

我请原谅没有在这个问题上做作业并直接提问但我需要了解连接字符串"jdbc:h2:h2db/database"的含义是什么,以获得h2数据库连接.

我想知道,如果我在我的Web应用程序(在Spring和hibernate框架上编码)上使用上面的字符串,它在托管在tomcat服务器上,那么我的数据库位于哪里.

如果有人可以简单解释一下那么这将是一个非常好的帮助.我是一个新手,必须了解更多的东西,所以我发布这个问题,而不是谷歌搜索H2数据库

请帮助!!!!

java database spring hibernate h2

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

睡眠线程正在中断导致与db的连接丢失

我是JAVA中多线程的新手,我遇到了问题.我得到了一个例外

java.lang.InterruptedException:睡眠中断

这是因为与db的连接丢失了.我对那里出了什么问题毫无头绪.它似乎在线程被中断后,它们被重新初始化但是没有开始..

以下是我的运行方法

public void run() {
        LOG.info("Started");
        running = true;
        while (running) {
            Lock readLock = readWriteLock.readLock();
            readLock.lock();
            long loopDelay;
            try {
                loopDelay = executor.execute();
                if (loopDelay > 0) {
                    Thread.sleep(loopDelay);
                }
            } catch (Exception e) {
                LOG.info("Executor Interrupted", e);
                break;
            } finally {
                readLock.unlock();
            }
        }
        LOG.info("Stopped");
    }
Run Code Online (Sandbox Code Playgroud)

可能的解决方案:在经过david建议的链接之后,我觉得这里的问题与David提到的问题相同,即"线程在休眠时无法处理中断".所以为了解决这个问题,我应该以更好的方式处理Interrrupted Exception,即david的暗示.

以下是我的堆栈跟踪..有人可以帮助我理解这个问题

    2012-02-03 10:38:09,260   150696427 [taskDiscoveryCallExecutorThread] INFO  (TaskExecutorThread.java:89) - Executor Interrupted
    java.lang.InterruptedException: sleep interrupted
        at java.lang.Thread.sleep(Native Method)
        at com.xyz.abc.backgroundtask.impl.TaskExecutorThread.run(TaskExecutorThread.java:86)
    2012-02-03 10:38:09,261   150696428 [taskDiscoveryCallExecutorThread] INFO  (TaskExecutorThread.java:95) …
Run Code Online (Sandbox Code Playgroud)

java mysql spring multithreading

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

在字节数组中存储对象引用

我有一个字节数组和一个对象引用.

    byte[] data = new byte[128];

    Block b = new Block();
Run Code Online (Sandbox Code Playgroud)

我想在"data"数组的最后2(或4)个字节中存储引用b .

请注意:我不想序列化对象并存储在字节数组中.我需要存储一个引用新块的指针(引用).

编辑

我的Block类如下

    public class Block {
        byte[] data ;

        public Block(){
            data = new byte[128];
        }
}
Run Code Online (Sandbox Code Playgroud)

基本上,数据数组将使用126个字节来存储字符串,并使用最后两个(或4个)字节来存储对另一个块的引用.它的链接列表.

我本可以使用Block类的不同定义[通过在类本身中包含对Block的引用]来完成它.但是问题语句指出只有最后2个字节的约束应该用作对另一个块的引用.从其他帖子我开始知道在jvm(32位)中,引用的大小为4个字节.因此我认为它只能使用最后4个字节来完成

来自问题陈述的片段

块的最后2个字节用于指向下一个块.假设文件是​​8块大小,那么第4块的最后2个字节将指向第5块,第5块的最后2个字节指向第6块,依此类推.

java memory arrays byte object-reference

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

XSLT外部文档查找

我有一个file.xml

<?xml version="1.0"?>
<Report>
      <row>
            <field1>test1</field1>
            <field2>test2</field2>
            <field3>test3</field3>
      </row>
      <row>
            <field1>test4</field1>
            <field2>test5</field2>
            <field3>test6</field3>
      </row>
</Report>
Run Code Online (Sandbox Code Playgroud)

还有一个lookup.xml

<?xml version="1.0"?>
<lookup>
      <field1>fieldA</field1>
      <field2>fieldB</field2>
      <field3>fieldC</field3>
</lookup>
Run Code Online (Sandbox Code Playgroud)

我想获得以下输出

<?xml version="1.0"?>
<Report>
      <row>
            <fieldA>test1</fieldA>
            <fieldB>test2</fieldB>
            <fieldC>test3</fieldC>
      </row>
      <row>
            <fieldA>test4</fieldA>
            <fieldB>test5</fieldB>
            <fieldC>test6</fieldC>
      </row>
</Report>
Run Code Online (Sandbox Code Playgroud)

到目前为止,我提出了以下transform.xsl

<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0">

  <xsl:strip-space elements="*"/>
  <xsl:output indent="yes"/>



  <xsl:variable name="lookupDoc" select="document('lookup.xml')"/>

  <xsl:template match="Report">
    <Items>
      <xsl:apply-templates/>
    </Items>
  </xsl:template>

  <xsl:template match="row">
    <Item>
      <xsl:apply-templates/>
    </Item>
  </xsl:template>

  <xsl:template match="row/*">
    <xsl:variable name="this" select="."/>
    <xsl:variable name="lookup">
      <xsl:for-each select="$lookupDoc">
        <xsl:key name="k1" match="local-name()" use="text()"/>
        <xsl:value-of select="key('k1', local-name($this))"/>
      </xsl:for-each>
    </xsl:variable>
    <fieldName …
Run Code Online (Sandbox Code Playgroud)

xml xslt

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

多个Spring Cloud Stream应用程序一起运行

我参考了此处发布的示例。我正在尝试一起运行多个 Spring Cloud Stream 应用程序。这里第一个的输出作为其他的输入。以下是我正在尝试做的事情。

@Bean
    public Function<KStream<FormUUID, FormData>, KStream<UUID, Application>> process()
    {
        //do some processing here and return 
    }
// read output from above process and join it with an event stream
@Bean
    public BiConsumer<KStream<UUID, ProcessEvent>, KTable<UUID, Application>> listen()
    {

        return (eventStream,appTable )-> eventStream
                .join(appTable, (event, app) -> app).foreach((k, app) -> app.createQuote());

    }
Run Code Online (Sandbox Code Playgroud)

application.yml 如下所示

spring.cloud:
 function: process;listen
 stream:
  kafka.streams:
    bindings:
      process-in-0.consumer.application-id: form-aggregator
      listen-in-0.consumer.application-id: event-processor
      listen-in-1.consumer.application-id: event-processor
    binder.configuration:
      default.key.serde: org.springframework.kafka.support.serializer.JsonSerde
      default.value.serde: org.springframework.kafka.support.serializer.JsonSerde
      spring.json.key.default.type: com.xxx.datamapper.domain.FormUUID
      spring.json.value.default.type: com.xxx.datamapper.domain.FormData
      commit.interval.ms: 1000 …
Run Code Online (Sandbox Code Playgroud)

spring-cloud-stream spring-kafka

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