最近我尝试了 Tomcat 10.0.10,当尝试将连接池作为 JNDI 资源注入时,发现注释@Resource不起作用。
然后我尝试通过创建 a 以编程方式获取它InitialContext并且它起作用了。最初我认为它仅适用于 java:comp/env/jdbc 所以我尝试使用如下所示的简单 bean 并尝试使用注释注入它,但@Resource它再次不起作用。当我尝试通过创建 a 以编程方式获取它时InitialContext,它起作用了。然后我检查@PostConstruct或@PreDestroy注释是否有效,发现它们也不起作用。
package lk.ijse.test.tomcatdbcp;
public class Something {
}
Run Code Online (Sandbox Code Playgroud)
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="bean/Something" auth="Container"
type="lk.ijse.test.tomcatdbcp.Something"
factory="org.apache.naming.factory.BeanFactory"
/>
</Context>
Run Code Online (Sandbox Code Playgroud)
<?xml version="1.0" encoding="UTF-8"?>
<web-app metadata-complete="false" xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
version="5.0">
<resource-env-ref>
<resource-env-ref-name>bean/Something</resource-env-ref-name>
<resource-env-ref-type>lk.ijse.test.tomcatdbcp.Something</resource-env-ref-type>
</resource-env-ref>
</web-app>
Run Code Online (Sandbox Code Playgroud)
package lk.ijse.test.tomcatdbcp;
import java.io.*;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
import jakarta.servlet.http.*;
import jakarta.servlet.annotation.*;
import javax.naming.InitialContext;
import javax.naming.NamingException;
@WebServlet(name = "helloServlet", value = …Run Code Online (Sandbox Code Playgroud) 我发现了一个奇怪的问题。我正在测试一个 git repo 并在这种情况下发现。
我创建了一个简单的 git repo 并添加了一个包含以下内容的文本文件。
Hello Git..!
First Line
Run Code Online (Sandbox Code Playgroud)
作为初始提交提交。
然后我从该提交创建了一个名为“abc”的分支,并将文件的内容更改为下面的内容。
(abc) -> 分支
Hello Git..!
First Line
Second Line
Run Code Online (Sandbox Code Playgroud)
坚定的。然后我检查回我的主分支并将文件内容更改为下面。
(主)-> 分支
Hi Git..!
First Line
Run Code Online (Sandbox Code Playgroud)
坚定的。然后我尝试将“abc”分支合并到“master”分支。我以为这会给我带来冲突,但它已通过递归成功合并到下面。
Hi Git..!
First Line
Second Line
Run Code Online (Sandbox Code Playgroud)
什么没有显示任何冲突?如果像下面这样之间没有空行,我有时会尝试几次,
Hello Git...!
First Line
Run Code Online (Sandbox Code Playgroud)
那么它表明存在冲突。我无法理解这一点。有人请帮助我理解这一点。
我尽可能多地搜索,但我无法找到问题或答案来解决我的问题。
我已将示例存储库上传到 GitHub。如果有人克隆它并尝试合并,它可以被复制。
https://github.com/Ranjith-Suranga/test-repo
有没有办法强制GIT显示冲突?我知道这是一个奇怪的问题,没有人需要发生冲突。但我也不喜欢这样的事情发生。试想一下,这发生在我的真实代码中。
更新
由于大多数评论和答案都在暗示不能有任何这样的冲突。我不得不更新这个答案。
好的,让我们在删除第二个空行后再次执行上述所有步骤。
开始了,
Hello Git..!
First Line
Run Code Online (Sandbox Code Playgroud)
作为初始提交提交。
(abc) -> 分支
Hello Git..!
First Line
Second Line
Run Code Online (Sandbox Code Playgroud)
坚定的。
(主)-> 分支
Hi Git..!
First …Run Code Online (Sandbox Code Playgroud)