我正在尝试编写一个客户端实用程序,通过JMX连接到Tomcat并查看连接数据源的状态.我在$ CATALINA_HOME/bin/setenv.bat中设置了以下VM参数,并重新启动了Tomcat
设置JAVA_OPTS = -Xms512M -Xmx1024M -XX:MaxPermSize = 256M%JAVA_OPTS%设置CATALINA_OPTS = -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 9004 -Dcom.sun.management.jmxremote.authenticate = false -Dcom.sun.management.jmxremote.ssl = false%CATALINA_OPTS%
我对JMX不是很熟悉所以我只是想玩它来感受它.我写的实用程序将在Tomcat之外运行.我编写了以下测试来尝试访问Tomcat中的数据源Mbean对象,但由于某种原因它没有找到它.
public class GuiMonitor {
public static void main(String[] args){
try{
JMXServiceURL url = new JMXServiceURL(
"service:jmx:rmi:///jndi/rmi://localhost:9004/jmxrmi");
JMXConnector jmxc = JMXConnectorFactory.connect(url, null);
final List<MBeanServer> servers = new LinkedList<MBeanServer>();
servers.add(ManagementFactory.getPlatformMBeanServer());
servers.addAll(MBeanServerFactory.findMBeanServer(null));
System.out.println("MbeanServers " + servers.size());
for(final MBeanServer server : servers){
System.out.println("Server : " + server.getClass().getName());
}
MBeanServer mbsc = ManagementFactory.getPlatformMBeanServer();
System.out.println(mbsc.queryMBeans(null, null));
ObjectName on = new ObjectName("Catalina:type=DataSource,path=/appdb,host=localhost,class=javax.sql.DataSource,name=\"jdbc/appdb\"");
System.out.println("ObjectName : " + …Run Code Online (Sandbox Code Playgroud) 是否可以将以下查询作为一个查询执行?
[码]
select count(*) from tableA;
select count(*) from tableB;
select count(*) from tableC;
select count(*) from tableD;
Run Code Online (Sandbox Code Playgroud)
[/码]
即.结果是这样的
|TablA|TableB|TableC|TableD|
|50 |300 |30 |9|
Run Code Online (Sandbox Code Playgroud)
谢谢
我有一个Oracle数据库,每周运行一次PL/SQl作业,使用Oracle数据库链接将数据从Oracle数据库中的表复制到另一个Oracle数据库.两个系统都在Unix/Solaris上运行.该作业通过Unix Cron工具进行安排和执行.
现在,远程计算机正从UNIX迁移到具有MSQL Server数据库的Windows平台.我一直在研究使用Oracle数据库链接从UNIX连接到将在Windows平台上运行的MSSQL Server数据库的可能性.这是有可能的,但它看起来像是有很多摆弄让它工作,并没有很多关于如何实现它的信息.
我想到的另一个解决方案是将进程实现为每周运行的Java守护程序进程.它所做的只是从一些表连接到Oracle数据库读取数据,连接到MSSQL Server数据库并运行一些插入命令.我想我需要两种驱动程序 - 即jdbc for Oracle和jdbc for MSSQL Server.
Spring是否提供任何可以使上述内容更容易实现和维护的工具?(具体是多个驱动程序和要求的调度部分)
Hibernate是否适合管理多个数据库连接或者是否过度杀伤?
随意也建议一个更好的解决方案:)
谢谢
在http://leepoint.net/notes-java/data/expressions/precedence.html的一个例子中
以下表达式
1 + 2 - 3 * 4 / 5
Run Code Online (Sandbox Code Playgroud)
被评估为
1 + 2 - 3 * 4 / 5
= (1 + 2) - ((3 * 4) / 5)
= 3 - (12/5)
= 3 - 2 The result of the integer division, 12/5, is 2 .
= 1
Run Code Online (Sandbox Code Playgroud)
然后我从http://www.roseindia.net/java/master-java/operator-precedence.shtml中看到了另一个例子
以下表达式
4 + 5 * 6 / 3
Run Code Online (Sandbox Code Playgroud)
被评估为
4 + (5 * (6 / 3))
Run Code Online (Sandbox Code Playgroud)
我有点困惑的是如何确定哪些将在*和/涉及时首先进行评估.在上面的例子中,两者似乎都不同.
第一个例子是评估3*5/5,((3*4)/5)
而第二个例子是评估5*6/3 as …
class Dec26 {
public static void main(String[] args) {
short a1 = 6;
new Dec26().go(a1);
new Dec26().go(new Integer(7));
}
void go(Short x) { System.out.print("S "); }
void go(Long x) { System.out.print("L "); }
void go(int x) { System.out.print("i "); }
void go(Number n) { System.out.print("N "); }
}
Run Code Online (Sandbox Code Playgroud)
输出:
i N
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,为什么编译器选择加宽选项(即Integer - > Number)而不是取消整理Integer并选择int选项?
谢谢
我正在努力学习Spring和Hibernate,我真的很难理解Annotations以及它们是如何工作的.我在互联网上看到的大多数示例都是基于注释的示例,所以我需要先了解注释的工作原理才能学习Spring或Hibernate
我知道它们是什么以及它们用于什么.我知道他们会替换xml配置.即您可以使用注释在Java代码中直接配置bean.我不明白的是如何使用它们以及何时可以使用它们.
试着理解如何做到这一点我认为如果我看到两者之间的差异会有所帮助.我这里有一个简单的Spring程序.如果我要将此示例程序转换为使用注释,我还需要做什么?
我想这样做的原因是因为我在下面提供的程序是我非常理解的程序(我正在阅读的Spring in Action书中的一个例子).如果将其转换为注释版本,我将了解注释的使用方式和位置.
有什么建议?
提前致谢
instrumentalist.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="saxophone" class="com.sia.ch1.instrumentalist.Saxophone" />
<bean id="piano" class="com.sia.ch1.instrumentalist.Piano" />
<!-- Injecting into bean properties Ken 1 -->
<bean id="kenny" class="com.sia.ch1.instrumentalist.Instrumentalist">
<property name="song" value="Jingle Bells"/>
<property name="instrument" ref="piano"/>
</bean>
</beans>
Run Code Online (Sandbox Code Playgroud)
乐器界面
package com.sia.ch1.instrumentalist;
public interface Instrument {
void play();
}
Run Code Online (Sandbox Code Playgroud)
乐器演奏者
package com.sia.ch1.instrumentalist;
import com.sia.ch1.performer.PerformanceException;
import com.sia.ch1.performer.Performer;
public class Instrumentalist implements Performer{
private Instrument instrument;
private String song;
public Instrumentalist(){}
public void perform() throws PerformanceException{ …Run Code Online (Sandbox Code Playgroud) 在过去的几周里,我一直在寻找在两个上下文/战争文件之间共享对象的解决方案.有很多种方法可以做,其中一种是JNDI.
我对Tomcat中使用的JNDI不太熟悉,所以想澄清几个问题:
基本上我有一个对象的实例,它可以为多个上下文/应用程序提供以下服务
每个应用程序将在处理任何请求之前调用此对象以验证用户.我不明白的是,如果它存储在JNDI上,该对象将如何工作.我已经看到了一些如何在Tomcat中使用JNDI的示例,但99%的示例显示了如何配置JDBC数据源.
Run Code Online (Sandbox Code Playgroud)<Resource name="jdbc/db1" auth="Container" type="oracle.jdbc.pool.OracleDataSource" driverClassName="oracle.jdbc.driver.OracleDriver" factory="oracle.jdbc.pool.OracleDataSourceFactory" url="jdbc:oracle:thin:@oracle.microdeveloper.com:1521:db1" user="scott" password="tiger" maxActive="20" maxIdle="10" maxWait="-1">
在我的情况下我将如何做类似的事情,最重要的是,如何在将对象放入JNDI树之前初始化该对象.一旦它在JNDI树上,它是如何更新的?
我想我想要的是在Tomcat中使用JNDI的简单示例,但不是数据库连接,而是服务提供者类型对象.
我一直在阅读本教程http://docs.oracle.com/javase/tutorial/jndi/ops/bind.html,但它更侧重于LDAP命名目录并没有真正帮助.
好的,我确实在上面列出的教程中找到了一个示例,它显示了如何将对象"绑定"到JNDI树中.
class SerObj {
public static void main(String[] args) {
// Set up environment for creating initial context
Hashtable<String, Object> env = new Hashtable<String, Object>(11);
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost:389/o=JNDITutorial");
try {
// Create the initial context
Context ctx = new InitialContext(env);
// Create object to be bound
Button b …Run Code Online (Sandbox Code Playgroud) 假设我有 3 个 ANT 项目,每个项目的 build.xml 脚本都位于顶层文件夹
proj1
file1.java
proj2
file2.java
proj3
file3.java
Run Code Online (Sandbox Code Playgroud)
我配置 Jenkins 来构建这 3 个项目,它构建它们并将输出存储在三个单独的文件夹中。
/output/proj1/2012-02-28_20-11-06/proj1/distribution/proj1.jar
/output/proj2/2012-02-28_20-11-08/proj2/distribution/proj2.jar
/output/proj3/2012-02-28_20-11-09/proj3/distribution/proj3.jar
Run Code Online (Sandbox Code Playgroud)
ANT 脚本是将 jar 文件放入分发文件夹中的脚本。我想在另一个生成 war 文件的项目中使用这些 jar 文件。
每个项目中生成的 jar 文件用于构建 WAR 文件。有什么方法可以配置 Jenkins 构建 proj1、proj2、proj3,然后将 jar 文件复制到特定位置,该位置将包含另一个 ANT 项目,该项目运行时会生成一个 war 文件?或者这必须用 ANT 编码吗?
另外,是否可以配置 jenkins 在运行 ANT 构建脚本之前进行多次签出。我正在使用 CVS,并且希望在运行构建之前进行 3 次检查,每次使用不同的标签。
我昨晚睡觉前发布了这个问题。今天再读一遍,我觉得还不够清楚,所以我会再次澄清要求。我有 4 个项目使用 ANT 作为构建机制,并且全部存储在 CVS 存储库中。所有 4 个项目在构建时都会形成一个部署在 Tomcat 应用程序服务器上的 WAR 文件。
proj1
- file1.java
- file2.java
proj2
- file3.java
- file4.java
proj3
- file3.java …Run Code Online (Sandbox Code Playgroud) 我一直在研究如何使用SOAP消息处理二进制数据.我正在开发客户端和服务,所以我可以选择任何框架.唯一的限制是服务端已经设计好并且基于Spring-WS.
看看谷歌,看起来有三种选择:
问题
当他们说附件不在SOAP消息之外时,它到底意味着什么?我假设也许附件是作为一个不同的TCP包发送但我认为我错了?
建议使用以上哪个选项,具体来说,哪个选项最适合Spring的Spring-WS框架?
我不清楚上面哪个选项在传输过程中编码二进制内容.什么是二进制MIME,如下所述 - http://www.crosschecknet.com/intro_to_mtom.php?传输期间二进制数据是否仍然转换为文本?
使用SWA时数据的格式是什么?
我有一个JTable,其中一列显示以下格式的值:
423545(50),[7568787(50)],53654656,2021947(50),[021947],2021947(50),[8021947(50)]
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以在RED中的方括号内显示值?
我最近几天一直在谷歌上搜索,并找到了几个例子来说明如何设置单元格的"背景",但实际上并不是如何更改单元格的字体,尤其是文本的特定部分.
public class myTableCellRenderer
extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {
Component c =
super.getTableCellRendererComponent(table, value,
isSelected, hasFocus,
row, column);
if (column == 3) {
c.setForeground(Color.YELLOW);
c.setBackground(Color.RED);
}
return c;
}
Run Code Online (Sandbox Code Playgroud)
是否真的可以将文本的一部分更改为不同的颜色(即方括号内的文本).
我作为示例显示的文本是表格单元格中显示的实际文本(逗号分隔符不表示列).单元格中显示的文本是逗号分隔的字符串,我在第3列的表格中显示.
作为一个例子,表格看起来像这样
product_id |product_name| invoice_numbers
12 | Books | 423545(50),[7568787(50)],53654656,2021947(50),[021947],2021947(50),[8021947(50)]
323 | Videos | 423545(50),[7568787(50)],53654656,2021947(50),[021947],2021947(50),[8021947(50)]
4434 | Music | 423545(50),[7568787(50)],53654656,2021947(50),[021947],2021947(50),[8021947(50)]
Run Code Online (Sandbox Code Playgroud)