我在一个WebLogic集群中运行了几个J2EE应用程序实例.
在某些时候,这些应用程序会执行MERGE以将记录插入或更新到后端Oracle数据库中.MERGE检查是否存在具有指定主键的行.如果它在那里,请更新.如果没有,请插入.
现在假设两个应用程序实例想要插入或更新主键= 100的行.假设该行不存在.在合并的"检查"阶段,他们都看到行不在那里,所以他们都试图插入.然后我得到一个唯一的键约束违规.
我的问题是:Oracle中是否存在原子MERGE?我正在寻找与INSERT ... FOR UPDATEPL/SQL 具有类似效果的东西,除了我只能从我的应用程序执行SQL.
编辑:我不清楚.我在使用MERGE语句时仍然出现此错误.问题是,只有"修改"部分是原子的,而不是整个合并.
作为一个UI开发者和Java知识非常有限的人,我如何理解servlet容器究竟是什么?
我听说过Weblogic,JBoss等都是servlet容器,但不确定这究竟意味着什么.这是否意味着任何中间件技术?
请你帮助我好吗.
我有一个在WebLogic服务器上运行的企业应用程序.
当我修改任何Java类时,我必须.ear每次都构建文件并部署到服务器.即使是一个小的修改,我也需要构建整个应用程序并部署到服务器.服务器大约需要10分钟才能完成此操作.
有没有其他方法可以做到这一点?
当我使用Tomcat时,我们曾经.class直接在webapps项目文件夹中更新文件,因此我们不需要重新构建整个应用程序.
我正在尝试设置Weblogic Server 10.3(和Portal等)以使用maven作为构建工具.我试图找到一个体面的教程或文档如何做到这一点.有一些教程适用于9.0等旧版本,但版本10的信息很少.
我正在寻找一种用maven构建weblogic的ear文件的方法.人们真的这样做吗?使用maven值得麻烦吗?
我想使用maven以便更容易地与Hudson等持续集成工具集成.
编辑:似乎有一种直接导出maven文件的方法http://edocs.bea.com/wlw/docs102/guide/ideuserguide/build/conMavenScript.html.但这些文件是蚂蚁的简单包装器.
我正在将我之前在JBOSS中部署的J2ee应用程序部署到Weblogic 10.3.1.0中.我遇到了外部属性文件的问题.在Jboss中我可以将属性文件放入$ JBOSS_HOME/server/default/conf中,然后将它们加载到系统类路径中,我可以毫无问题地访问它们.我能够将共享库放入$ MIDDLEWAREHOME/user_projects/domains/mydomain/lib中,并将它们加载到系统类路径中,没有任何问题,但我无法加载属性文件.
有谁知道如何在Weblogic中包含外部属性文件?
谢谢,
(已解决!通过FAKING SYSTEM RANDOM GENERATOR,见下文)
我正在为我的开发/构建团队设置VM映像.在该VM内部,应该运行Weblogic域.我使用Ububtu服务器发行版,WLS 9.2MP3 + ALSB.
一切正常,速度很快,但在开始时WLS会在可测量的时间内停止两次.两站总共延迟约10分钟.对于部署需要重新启动服务器的任务,这非常烦人.:-(
睡眠时间不是恒定的,有时服务器启动非常快,有时一般,有时10分钟或更长时间.
有趣的是,如果我在查看停止的服务器时按Enter键,它会更快地唤醒,有时几秒钟之后.WLST(Weblogic Jython shell)在VM中执行时也会挂起很长时间.虽然它没有对Enter作出反应.
这里必须是一些使用VM运行WLS的开发人员.我想知道其他人是否有同样的问题?有人能够解决它吗?
这是服务器输出(仅用于案例):
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_12-b04)
Java HotSpot(TM) Client VM (build 1.5.0_12-b04, mixed mode)
Starting WLS with line:
/shared2/beahome/jdk150_12/bin/java -client -Xmx256m -XX:MaxPermSize=128m -Xverify:none -da -Dplatform.home=/shared2/beahome/weblogic92
-Dwls.home=/shared2/beahome/weblogic92/server -Dwli.home=/shared2/beahome/weblogic92/integration -Dweblogic.management.discover=true -Dwl
w.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/shared2/beahome/patch_weblogic923/profiles/default/sysext_
manifest_classpath -Dweblogic.management.username=admin -Dweblogic.management.password=wlsadmin -Dweblogic.Name=LOGMGR-admin -Djava.security
.policy=/shared2/beahome/weblogic92/server/lib/weblogic.policy weblogic.Server
<1-Apr-2010 12:47:22 o'clock PM GMT-05:00> <Notice> <WebLogicServer> <BEA-000395> <Following extensions directory contents added to the end
of the classpath:
/shared2/beahome/weblogic92/platform/lib/p13n/p13n-schemas.jar:/shared2/beahome/weblogic92/platform/lib/p13n/p13n_common.jar:/shared2/beahom
e/weblogic92/platform/lib/p13n/p13n_system.jar:/shared2/beahome/weblogic92/platform/lib/wlp/netuix_common.jar:/shared2/beahome/weblogic92/pl
atform/lib/wlp/netuix_schemas.jar:/shared2/beahome/weblogic92/platform/lib/wlp/netuix_system.jar:/shared2/beahome/weblogic92/platform/lib/wl
p/wsrp-common.jar> …Run Code Online (Sandbox Code Playgroud) 我是weblogic的新手.
我已经阅读了http://download.oracle.com/docs/cd/E11035_01/wls100/cluster/overview.html并在互联网上搜索了这个主题,但仍然很难理解一些weblogic的集群概念.
任何人都可以在下面确认/纠正我的理解吗?
也许我把整个概念弄错了.有人能指出我正确的方向吗?
非常感谢.
尝试将应用程序从WebLogic 12.2.1迁移到Tomcat 8.5.4,Weblogic下的内容是作为LDAP连接的外部JNDI提供程序的条目已迁移到新的ResourceTomcat下.
遵循Stack Overflow上的建议,自定义LdapContextFactory已打包为jarTomcat lib文件夹下的新文件.
在Tomcat server.xml文件中,GlobalNamingResources/Resource已配置以下内容:
<Resource name="ldapConnection"
auth="Container"
type="javax.naming.ldap.LdapContext"
factory="com.sample.custom.LdapContextFactory"
singleton="false"
java.naming.referral="follow"
java.naming.factory.initial="com.sun.jndi.ldap.LdapCtxFactory"
java.naming.provider.url="ldap://some.host:389"
java.naming.security.authentication="simple"
java.naming.security.principal="CN=some,OU=some,OU=some,DC=some,DC=a,DC=b"
java.naming.security.credentials="password"
com.sun.jndi.ldap.connect.pool="true"
com.sun.jndi.ldap.connect.pool.maxsize="10"
com.sun.jndi.ldap.connect.pool.prefsize="4"
com.sun.jndi.ldap.connect.pool.timeout="30000" />
Run Code Online (Sandbox Code Playgroud)
通过嵌入在Eclipse中的Apache Directory Studio/LDAP Browser等LDAP浏览器浏览LDAP目录时,上述连接可正常工作.
习惯com.sample.custom.LdapContextFactory很简单:
public class LdapContextFactory implements ObjectFactory {
public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment)
throws Exception {
Hashtable<Object, Object> env = new Hashtable<>();
Reference reference = (Reference) obj;
Enumeration<RefAddr> …Run Code Online (Sandbox Code Playgroud) 我有一个Java 7 Spring Boot(1.5.4)RESTfull服务,其端点返回DeferredResult:
@RequestMapping(value = "/download/{templateName:.+}")
public DeferredResult<ResponseEntity> download(@PathVariable final String templateName,
@RequestParam final Map<String, Object> args) {
final DeferredResult<ResponseEntity> result = new DeferredResult<>();
try {
// it returns a RxJava Observable
final ReportService reportService = getReportService(templateName);
reportService.process(templateName, args).subscribe(new Consumer<byte[]>() {
public void accept(byte[] bytes) throws Exception {
HttpHeaders header = new HttpHeaders();
header.setContentType(new MediaType("application", MEDIA_TYPE_SPREADSHEET));
header.setContentDispositionFormData("attachment", templateName);
InputStreamResource resource = new InputStreamResource(new ByteArrayInputStream(bytes));
result.setResult(ResponseEntity.ok().headers(header).body(resource));
}
}, new Consumer<Throwable>() {
public void accept(Throwable e) throws Exception {
result.setResult(ResponseEntity.badRequest().build());
// …Run Code Online (Sandbox Code Playgroud) eclipse与weblogic一起使用的推荐插件是什么?具体来说,我需要使用旧版本的weblogic,8.1,但我可以使用任何版本的Ecplise.我想调试应用程序并设置断点等.
我的更大任务是将项目转移到Jboss,我可以在Eclipse中的两个应用服务器上部署相同的应用程序,大概有两组配置文件等,任何建议吗?2个单独的项目?
weblogic ×10
java ×8
java-ee ×3
classpath ×1
concurrency ×1
containers ×1
deployment ×1
integration ×1
jsp ×1
ldap ×1
maven-2 ×1
merge ×1
observable ×1
oracle ×1
properties ×1
servlets ×1
spring ×1
spring-boot ×1
tomcat ×1
tomcat8 ×1
virtualbox ×1
vmware ×1