Cluster and static object.
I have application worked in cluster. Is some possibility to propagate change in static object to all application in cluster.
You can use application context (javax.naming.InitialContext) and bind (set), rebind (set new value), lookup (get) and unbind (remove) variables (must be serializable).
You must corect configure RMI replication.
Changes ist propagated acros all nodes in cluster. (but unbind don't work correct - it work only locale (bug?))
Similar Messages
-
Renaming default Datacenter, Cluster, and Datastore object names in EVO:RAIL
Hello,
The Datacenter, Cluster, and vSAN Datastore objects in my newly-installed EVO:RAIL appliance all default to a label of "MARVIN-...". Is it safe to rename these labels appropriate to my environment, such as a geographic location for my Datacenter object? I suspect that it is okay because the underlying UID will not change, but am looking for confirmation from someone who has successfully done this in a lab or production environment and who has also been successful in applying EVO:RAIL patches afterward.
Thanks in advance.Just to close the loop, I successfully renamed the datacenter, cluster, and vSAN objects in vCenter Server.
I kept a close watch on Log Insight at each step, and did log one error that I found suspicious following the object rename of the vSAN datastore:
2015-01-29T19:03:27.158Z <My 4th Host's FQDN> Hostd: [783C2B70 info 'DiskLib'] DISKLIB-LINK :DiskLinkGetSpaceUsedInfo: Failed to get the file system unique id for file vsan://118eb054-f123-469a-d542-XXXXXXXXXXXX, using id as "remote"
Where in my case the 4th host happens to currently be the HA master. I'm guessing this was just a transient error as it hasn't reappeared in the last 30 minutes, but I'll keep an eye out for it. There was no corresponding error viewed in vCenter Server, and I seem to be able to refresh the vSAN storage counter without issue.
Thanks again. -
Problem with static and nonstatic objects in same code?
Hi everyone, I am working on a project and I kept running into an odd problem where my code would compile but when I went to run the code I would get an exception. I finally narrowed my problem down to a small fragment. Here is an example.
class Mut{
static Mut Fido = new Mut();
Mut Sammy = new Mut();
public static void main(String args[]){
This piece of code will compile but when I run it on an WindowsXP machine the JRE tells me there is an exception at line 3. If I change the code to this:
class Mut{
static Mut Fido = new Mut();
static Mut Sammy = new Mut();
public static void main(String args[]){
The code runs fine without any problems. My question is: why can't I create a static object and a nonstatic object in the same class? Is this a certain feature of JAVA I don't understand or is this a blackbox problem with XP? Any help is appreciated. Thanks
VanceIs the exception stack trace what is displayed in the command-line window? If it is here is what is displayed(This is a lot):
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
at Mut.<init>(Mut.java:3)
C:\>
I don't know if this is everything because the winow won't let me scroll back up to where I enterd "java Mut"
Hope this helps.
Message was edited by: Vance
cell@tech -
MS NLB with ASA and Static NAT from PUP to NLB IP
Hi all,
I am trying to get MS NLB up and running. It is almost all working. Below is my physical setup.
ASA 5510 > Cat 3750X >2x ESXi 5.1 Hosts > vSwitch > Windows 2012 NLB Guest VMs.
I have two VMs runing on two different ESXi hosts. They have two vNICs. One for managment and one for inside puplic subnet. The inside puplic subnet NICs are in the NLB cluster. The inside public subnet is NATed on the ASA to a outide public IP.
192.168.0.50 is the 1st VM
192.168.0.51 is the 2nd VM
192.168.0.52 is the cluster IP for heartbeat
192.168.0.53 is the cluster IP for NLB traffic.
0100.5e7f.0035 is the cluster MAC.
The NLB cluster is using MULTICAST
I have read the doumentation for both the ASA and CAT switch for adding a static ARP using the NLB IP and NLB MAC.
For the ASA I found
http://www.cisco.com/en/US/docs/security/asa/asa84/asdm64/configuration_guide/mode_fw.html#wp1226249
ASDM
Configuration > Device Management > Advanced > ARP > ARP Static Table
I was able to add my stic ARP just fine.
However, the next step was to enable ARP inspection.
Configuration > Device Management > Advanced > ARP > ARP Inspection
My ASDM does not list ARP Inspection, only has the ARP Static Table area. Not sure about this.
For the CAT Switch I found
http://www.cisco.com/en/US/products/hw/switches/ps708/products_configuration_example09186a0080a07203.shtml
I added the both the ARP and Static MAC. For the static MAC I used the VLAN ID of the inside public subnet and the interfaces connected to both ESXi hosts.
On the ASA I added a static NAT for my outside Public IP to my inside pupblic NLB IP and vise versa. I then added a DNS entry for our domain to point to the outside public IP. I also added it to the public servers section allowing all IP traffic testing puproses.
At any rate the MS NLB is working ok. I can ping both the Public IP and the Inside NLB IP just fine from the outside. (I can ping the inside NLB IP becuase I'm on a VPN with access to my inside subnets) The problem is when I go to access a webpade from my NLB servers using the DNS or the Public IP I get a "This Page Can't Be Displyed" messgae. Now while on the VPN if I use the same URL but insied use the NLB IP and not the Public IP it works fine.
So I think there is soemthing wrong with the NATing of the Public to NLB IP even tho I can ping it fine. Below is my ASA Config. I have bolded the parts of Interest.
Result of the command: "show run"
: Saved
ASA Version 8.4(4)9
hostname MP-ASA-1
enable password ac3wyUYtitklff6l encrypted
passwd ac3wyUYtitklff6l encrypted
names
dns-guard
interface Ethernet0/0
nameif outside
security-level 0
ip address 198.XX.XX.82 255.255.255.240
interface Ethernet0/1
description Root Inside Interface No Vlan
speed 1000
duplex full
nameif Port-1-GI-Inside-Native
security-level 100
ip address 10.1.1.1 255.255.255.0
interface Ethernet0/1.2
description Managment LAN 1 for Inside Networks
vlan 2
nameif MGMT-1
security-level 100
ip address 192.168.180.1 255.255.255.0
interface Ethernet0/1.3
description Managment LAN 2 for Inside Networks
vlan 3
nameif MGMT-2
security-level 100
ip address 192.168.181.1 255.255.255.0
interface Ethernet0/1.100
description Development Pubilc Network 1
vlan 100
nameif DEV-PUB-1
security-level 50
ip address 192.168.0.1 255.255.255.0
interface Ethernet0/1.101
description Development Pubilc Network 2
vlan 101
nameif DEV-PUB-2
security-level 50
ip address 192.168.2.1 255.255.255.0
interface Ethernet0/1.102
description Suncor Pubilc Network 1
vlan 102
nameif SUNCOR-PUB-1
security-level 49
ip address 192.168.3.1 255.255.255.0
interface Ethernet0/1.103
description Suncor Pubilc Network 2
vlan 103
nameif SUNCOR-PUB-2
security-level 49
ip address 192.168.4.1 255.255.255.0
interface Ethernet0/2
shutdown
no nameif
no security-level
no ip address
interface Ethernet0/3
shutdown
no nameif
no security-level
no ip address
interface Management0/0
nameif management
security-level 100
ip address 192.168.1.1 255.255.255.0
management-only
boot system disk0:/asa844-9-k8.bin
ftp mode passive
clock timezone PST -8
clock summer-time PDT recurring
same-security-traffic permit inter-interface
same-security-traffic permit intra-interface
object network Inside-Native-Network-PNAT
subnet 10.1.1.0 255.255.255.0
description Root Inisde Native Interface Network with PNAT
object network ASA-Outside-IP
host 198.XX.XX.82
description The primary IP of the ASA
object network Inside-Native-Network
subnet 10.1.1.0 255.255.255.0
description Root Inisde Native Interface Network
object network VPN-POOL-PNAT
subnet 192.168.100.0 255.255.255.0
description VPN Pool NAT for Inside
object network DEV-PUP-1-Network
subnet 192.168.0.0 255.255.255.0
description DEV-PUP-1 Network
object network DEV-PUP-2-Network
subnet 192.168.2.0 255.255.255.0
description DEV-PUP-2 Network
object network MGMT-1-Network
subnet 192.168.180.0 255.255.255.0
description MGMT-1 Network
object network MGMT-2-Network
subnet 192.168.181.0 255.255.255.0
description MGMT-2 Network
object network SUNCOR-PUP-1-Network
subnet 192.168.3.0 255.255.255.0
description SUNCOR-PUP-1 Network
object network SUNCOR-PUP-2-Network
subnet 192.168.4.0 255.255.255.0
description SUNCOR-PUP-2 Network
object network DEV-PUB-1-Network-PNAT
subnet 192.168.0.0 255.255.255.0
description DEV-PUB-1-Network with PNAT
object network DEV-PUB-2-Network-PNAT
subnet 192.168.2.0 255.255.255.0
description DEV-PUB-2-Network with PNAT
object network MGMT-1-Network-PNAT
subnet 192.168.180.0 255.255.255.0
description MGMT-1-Network with PNAT
object network MGMT-2-Network-PNAT
subnet 192.168.181.0 255.255.255.0
description MGMT-2-Network with PNAT
object network SUNCOR-PUB-1-Network-PNAT
subnet 192.168.3.0 255.255.255.0
description SUNCOR-PUB-1-Network with PNAT
object network SUNCOR-PUB-2-Network-PNAT
subnet 192.168.4.0 255.255.255.0
description SUNCOR-PUB-2-Network with PNAT
object network DEV-APP-1-PUB
host 198.XX.XX.XX
description DEV-APP-2 Public Server IP
object network DEV-APP-2-SNAT
host 192.168.2.120
description DEV-APP-2 Server with SNAT
object network DEV-APP-2-PUB
host 198.XX.XX.XX
description DEV-APP-2 Public Server IP
object network DEV-SQL-1
host 192.168.0.110
description DEV-SQL-1 Inside Server IP
object network DEV-SQL-2
host 192.168.2.110
description DEV-SQL-2 Inside Server IP
object network SUCNOR-APP-1-PUB
host 198.XX.XX.XX
description SUNCOR-APP-1 Public Server IP
object network SUNCOR-APP-2-SNAT
host 192.168.4.120
description SUNCOR-APP-2 Server with SNAT
object network SUNCOR-APP-2-PUB
host 198.XX.XX.XX
description DEV-APP-2 Public Server IP
object network SUNCOR-SQL-1
host 192.168.3.110
description SUNCOR-SQL-1 Inside Server IP
object network SUNCOR-SQL-2
host 192.168.4.110
description SUNCOR-SQL-2 Inside Server IP
object network DEV-APP-1-SNAT
host 192.168.0.120
description DEV-APP-1 Network with SNAT
object network SUNCOR-APP-1-SNAT
host 192.168.3.120
description SUNCOR-APP-1 Network with SNAT
object network PDX-LAN
subnet 192.168.1.0 255.255.255.0
description PDX-LAN for S2S VPN
object network PDX-Sonicwall
host XX.XX.XX.XX
object network LOGI-NLB--SNAT
host 192.168.0.53
description Logi NLB with SNAT
object network LOGI-PUP-IP
host 198.XX.XX.87
description Public IP of LOGI server for NLB
object network LOGI-NLB-IP
host 192.168.0.53
description LOGI NLB IP
object network LOGI-PUP-SNAT-NLB
host 198.XX.XX.87
description LOGI Pup with SNAT to NLB
object-group network vpn-inside
description All inside accessible networks
object-group network VPN-Inside-Networks
description All Inside Nets for Remote VPN Access
network-object object Inside-Native-Network
network-object object DEV-PUP-1-Network
network-object object DEV-PUP-2-Network
network-object object MGMT-1-Network
network-object object MGMT-2-Network
network-object object SUNCOR-PUP-1-Network
network-object object SUNCOR-PUP-2-Network
access-list acl-vpnclinet extended permit ip object-group VPN-Inside-Networks any
access-list outside_access_out remark Block ping to out networks
access-list outside_access_out extended deny icmp any any inactive
access-list outside_access_out remark Allow all traffic from inside to outside networks
access-list outside_access_out extended permit ip any any
access-list outside_access extended permit ip any object LOGI-NLB--SNAT
access-list outside_access extended permit ip any object SUNCOR-APP-2-SNAT
access-list outside_access extended permit ip any object SUNCOR-APP-1-SNAT
access-list outside_access extended permit ip any object DEV-APP-2-SNAT
access-list outside_access extended permit ip any object DEV-APP-1-SNAT
access-list outside_cryptomap extended permit ip object-group VPN-Inside-Networks object PDX-LAN
pager lines 24
logging asdm informational
mtu outside 1500
mtu Port-1-GI-Inside-Native 1500
mtu MGMT-1 1500
mtu MGMT-2 1500
mtu DEV-PUB-1 1500
mtu DEV-PUB-2 1500
mtu SUNCOR-PUB-1 1500
mtu SUNCOR-PUB-2 1500
mtu management 1500
ip local pool Remote-VPN-Pool 192.168.100.1-192.168.100.20 mask 255.255.255.0
no failover
icmp unreachable rate-limit 1 burst-size 1
icmp permit any outside
icmp permit any Port-1-GI-Inside-Native
icmp permit any MGMT-1
icmp permit any MGMT-2
icmp permit any DEV-PUB-1
icmp permit any DEV-PUB-2
icmp permit any SUNCOR-PUB-1
icmp permit any SUNCOR-PUB-2
asdm image disk0:/asdm-649-103.bin
no asdm history enable
arp DEV-PUB-1 192.168.0.53 0100.5e7f.0035 alias
arp timeout 14400
no arp permit-nonconnected
nat (Port-1-GI-Inside-Native,outside) source static any any destination static VPN-POOL-PNAT VPN-POOL-PNAT
nat (DEV-PUB-1,outside) source static any any destination static VPN-POOL-PNAT VPN-POOL-PNAT
nat (DEV-PUB-2,outside) source static any any destination static VPN-POOL-PNAT VPN-POOL-PNAT
nat (MGMT-1,outside) source static any any destination static VPN-POOL-PNAT VPN-POOL-PNAT
nat (MGMT-2,outside) source static any any destination static VPN-POOL-PNAT VPN-POOL-PNAT
nat (SUNCOR-PUB-1,outside) source static any any destination static VPN-POOL-PNAT VPN-POOL-PNAT
nat (SUNCOR-PUB-2,outside) source static any any destination static VPN-POOL-PNAT VPN-POOL-PNAT
nat (DEV-PUB-1,outside) source static DEV-PUP-1-Network DEV-PUP-1-Network destination static PDX-LAN PDX-LAN no-proxy-arp route-lookup
nat (DEV-PUB-2,outside) source static DEV-PUP-2-Network DEV-PUP-2-Network destination static PDX-LAN PDX-LAN no-proxy-arp route-lookup
nat (MGMT-1,outside) source static MGMT-1-Network MGMT-1-Network destination static PDX-LAN PDX-LAN no-proxy-arp route-lookup
nat (MGMT-2,outside) source static MGMT-2-Network MGMT-2-Network destination static PDX-LAN PDX-LAN no-proxy-arp route-lookup
nat (Port-1-GI-Inside-Native,outside) source static Inside-Native-Network Inside-Native-Network destination static PDX-LAN PDX-LAN no-proxy-arp route-lookup
nat (SUNCOR-PUB-1,outside) source static SUNCOR-PUP-1-Network SUNCOR-PUP-1-Network destination static PDX-LAN PDX-LAN no-proxy-arp route-lookup
nat (SUNCOR-PUB-2,outside) source static SUNCOR-PUP-2-Network SUNCOR-PUP-2-Network destination static PDX-LAN PDX-LAN no-proxy-arp route-lookup
object network Inside-Native-Network-PNAT
nat (Port-1-GI-Inside-Native,outside) dynamic interface
object network VPN-POOL-PNAT
nat (Port-1-GI-Inside-Native,outside) dynamic interface
object network DEV-PUB-1-Network-PNAT
nat (DEV-PUB-1,outside) dynamic interface
object network DEV-PUB-2-Network-PNAT
nat (DEV-PUB-2,outside) dynamic interface
object network MGMT-1-Network-PNAT
nat (MGMT-1,outside) dynamic interface
object network MGMT-2-Network-PNAT
nat (MGMT-2,outside) dynamic interface
object network SUNCOR-PUB-1-Network-PNAT
nat (SUNCOR-PUB-1,outside) dynamic interface
object network SUNCOR-PUB-2-Network-PNAT
nat (SUNCOR-PUB-2,outside) dynamic interface
object network DEV-APP-2-SNAT
nat (DEV-PUB-2,outside) static DEV-APP-2-PUB
object network SUNCOR-APP-2-SNAT
nat (SUNCOR-PUB-2,outside) static SUNCOR-APP-2-PUB
object network DEV-APP-1-SNAT
nat (DEV-PUB-1,outside) static DEV-APP-1-PUB
object network SUNCOR-APP-1-SNAT
nat (SUNCOR-PUB-1,outside) static SUCNOR-APP-1-PUB
object network LOGI-NLB--SNAT
nat (DEV-PUB-1,outside) static LOGI-PUP-IP
object network LOGI-PUP-SNAT-NLB
nat (outside,DEV-PUB-1) static LOGI-NLB-IP
access-group outside_access in interface outside
access-group outside_access_out out interface outside
route outside 0.0.0.0 0.0.0.0 198.145.120.81 1
timeout xlate 3:00:00
timeout pat-xlate 0:00:30
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute
timeout tcp-proxy-reassembly 0:01:00
timeout floating-conn 0:00:00
dynamic-access-policy-record DfltAccessPolicy
user-identity default-domain LOCAL
http server enable
http 192.168.1.0 255.255.255.0 management
http 192.168.1.0 255.255.255.0 outside
http 10.1.1.0 255.255.255.0 Port-1-GI-Inside-Native
http 192.168.180.0 255.255.255.0 MGMT-1
http 192.168.100.0 255.255.255.0 Port-1-GI-Inside-Native
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart warmstart
class-map inspection_default
match default-inspection-traffic
policy-map type inspect dns preset_dns_map
parameters
message-length maximum client auto
message-length maximum 512
policy-map global_policy
class inspection_default
inspect dns preset_dns_map
inspect ftp
inspect h323 h225
inspect h323 ras
inspect rsh
inspect rtsp
inspect esmtp
inspect sqlnet
inspect skinny
inspect sunrpc
inspect xdmcp
inspect sip
inspect netbios
inspect tftp
inspect ip-options
inspect icmp
inspect icmp error
service-policy global_policy global
prompt hostname context
call-home reporting anonymous
call-home
profile CiscoTAC-1
no active
destination address http https://tools.cisco.com/its/service/oddce/services/DDCEService
destination address email [email protected]
destination transport-method http
subscribe-to-alert-group diagnostic
subscribe-to-alert-group environment
subscribe-to-alert-group inventory periodic monthly
subscribe-to-alert-group configuration periodic monthly
subscribe-to-alert-group telemetry periodic daily
Cryptochecksum:d6f9f8e2113dc03cede9f2454dba029b
: end
Any help would be great! I think the issue is in teh NAT as I am able to access NLB IP from the outside and could not do that before adding the Static ARP stuff.
Thanks,
ChrisAlso If I change to NAT from the public IP to the NLB IP to use either one of the phsyical IPs of the NLB cluster (192.168.0.50 or 51) it works fine when using the public IP. So it's definatly an issue when NATing the VIP of NLB cluster.
Chris -
When setting up converged network in VMM cluster and live migration virtual nics not working
Hello Everyone,
I am having issues setting up converged network in VMM. I have been working with MS engineers to no avail. I am very surprised with the expertise of the MS engineers. They had no idea what a converged network even was. I had way more
experience then these guys and they said there was no escalation track so I am posting here in hopes of getting some assistance.
Everyone including our consultants says my setup is correct.
What I want to do:
I have servers with 5 nics and want to use 3 of the nics for a team and then configure cluster, live migration and host management as virtual network adapters. I have created all my logical networks, port profile with the uplink defined as team and
networks selected. Created logical switch and associated portprofle. When I deploy logical switch and create virtual network adapters the logical switch works for VMs and my management nic works as well. Problem is that the cluster and live
migration virtual nics do not work. The correct Vlans get pulled in for the corresponding networks and If I run get-vmnetworkadaptervlan it shows cluster and live migration in vlans 14 and 15 which is correct. However nics do not work at all.
I finally decided to do this via the host in powershell and everything works fine which means this is definitely an issue with VMM. I then imported host into VMM again but now I cannot use any of the objects I created and VMM and have to use standard
switch.
I am really losing faith in VMM fast.
Hosts are 2012 R2 and VMM is 2012 R2 all fresh builds with latest drivers
ThanksHave you checked our whitepaper http://gallery.technet.microsoft.com/Hybrid-Cloud-with-NVGRE-aa6e1e9a for how to configure this through VMM?
Are you using static IP address assignment for those vNICs?
Are you sure your are teaming the correct physical adapters where the VLANs are trunked through the connected ports?
Note; if you create the teaming configuration outside of VMM, and then import the hosts to VMM, then VMM will not recognize the configuration.
The details should be all in this whitepaper.
-kn
Kristian (Virtualization and some coffee: http://kristiannese.blogspot.com ) -
Issues in persisting dynamic entity and view objects using MDS
Hi All,
I'm trying to create dynamic entity and view objects per user session and to persist these objects throughout the session, I'm trying to use MDS configurations(either file or Database) in adf-config.xml.
I'm facing following two errors while trying to run the app module:
1. MDS error (MetadataNotFoundException): MDS-00013: no metadata found for metadata object "/model/DynamicEntityGenModuleOperations.xml"
2. oracle.mds.exception.ReadOnlyStoreException: MDS-01273: The operation on the resource /sessiondef/dynamic/DynamicDeptEntityDef.xml failed because source metadata store mapped to the namespace / DEFAULT is read only.
I've gone through the following links which talks about the cause of the issue, but still can't figure out the issue in the code or the config file. Please help if, someone has faced a similar issue.
[http://docs.oracle.com/cd/E28271_01/doc.1111/e25450/mds_trouble.htm#BABIAGBG |http://docs.oracle.com/cd/E28271_01/doc.1111/e25450/mds_trouble.htm#BABIAGBG ]
[http://docs.oracle.com/cd/E16162_01/core.1112/e22506/chapter_mds_messages.htm|http://docs.oracle.com/cd/E16162_01/core.1112/e22506/chapter_mds_messages.htm]
Attached is the code for dynamic entity/view object generation and corresponding adf-config.xml used.
///////////App Module Implementation Class/////////////////////////
public class DynamicEntityGenModuleImpl extends ApplicationModuleImpl implements DynamicEntityGenModule {
private static final String DYNAMIC_DETP_VO_INSTANCE = "DynamicDeptVO";
* This is the default constructor (do not remove).
public DynamicEntityGenModuleImpl() {
public ViewObjectImpl getDepartmentsView1() {
return (ViewObjectImpl) findViewObject("DynamicDeptVO");
public void buildDynamicDeptComp() {
ViewObject internalDynamicVO = findViewObject(DYNAMIC_DETP_VO_INSTANCE);
if (internalDynamicVO != null) {
System.out.println("OK VO exists, return Defn- " + internalDynamicVO.getDefFullName());
return;
EntityDefImpl deptEntDef = buildDeptEntitySessionDef();
ViewDefImpl viewDef = buildDeptViewSessionDef(deptEntDef);
addViewToPdefApplicationModule(viewDef);
private EntityDefImpl buildDeptEntitySessionDef() {
try {
EntityDefImpl entDef = new EntityDefImpl(oracle.jbo.server.EntityDefImpl.DEF_SCOPE_SESSION, "DynamicDeptEntityDef");
entDef.setFullName(entDef.getBasePackage() + ".dynamic." + entDef.getName());
entDef.setName(entDef.getName());
System.out.println("Application Module Path name: " + getDefFullName());
System.out.println("EntDef :" + entDef.getFileName() + " : " + entDef.getBasePackage() + ".dynamic." + entDef.getName());
entDef.setAliasName(entDef.getName());
entDef.setSource("DEPT");
entDef.setSourceType("table");
entDef.addAttribute("ID", "ID", Integer.class, true, false, true);
entDef.addAttribute("Name", "NAME", String.class, false, false, true);
entDef.addAttribute("Location", "LOCATION", Integer.class, false, false, true);
entDef.resolveDefObject();
entDef.registerSessionDefObject();
entDef.writeXMLContents();
entDef.saveXMLContents();
return entDef;
} catch (Exception ex) {
System.out.println(ex.getLocalizedMessage());
return null;
private ViewDefImpl buildDeptViewSessionDef(EntityDefImpl entityDef) {
try {
ViewDefImpl viewDef = new oracle.jbo.server.ViewDefImpl(oracle.jbo.server.ViewDefImpl.DEF_SCOPE_SESSION, "DynamicDeptViewDef");
viewDef.setFullName(viewDef.getBasePackage() + ".dynamic." + viewDef.getName());
System.out.println("ViewDef :" + viewDef.getFileName());
viewDef.setUseGlueCode(false);
viewDef.setIterMode(RowIterator.ITER_MODE_LAST_PAGE_FULL);
viewDef.setBindingStyle(SQLBuilder.BINDING_STYLE_ORACLE_NAME);
viewDef.setSelectClauseFlags(ViewDefImpl.CLAUSE_GENERATE_RT);
viewDef.setFromClauseFlags(ViewDefImpl.CLAUSE_GENERATE_RT);
viewDef.addEntityUsage("DynamicDeptUsage", entityDef.getFullName(), false, false);
viewDef.addAllEntityAttributes("DynamicDeptUsage");
viewDef.resolveDefObject();
viewDef.registerSessionDefObject();
viewDef.writeXMLContents();
viewDef.saveXMLContents();
return viewDef;
} catch (Exception ex) {
System.out.println(ex.getLocalizedMessage());
return null;
private void addViewToPdefApplicationModule(ViewDefImpl viewDef) {
oracle.jbo.server.PDefApplicationModule pDefAM = oracle.jbo.server.PDefApplicationModule.findDefObject(getDefFullName());
if (pDefAM == null) {
pDefAM = new oracle.jbo.server.PDefApplicationModule();
pDefAM.setFullName(getDefFullName());
pDefAM.setEditable(true);
pDefAM.createViewObject(DYNAMIC_DETP_VO_INSTANCE, viewDef.getFullName());
pDefAM.applyPersonalization(this);
pDefAM.writeXMLContents();
pDefAM.saveXMLContents();
////////adf-config.xml//////////////////////
<?xml version="1.0" encoding="windows-1252" ?>
<adf-config xmlns="http://xmlns.oracle.com/adf/config" xmlns:config="http://xmlns.oracle.com/bc4j/configuration" xmlns:adf="http://xmlns.oracle.com/adf/config/properties"
xmlns:sec="http://xmlns.oracle.com/adf/security/config">
<adf-adfm-config xmlns="http://xmlns.oracle.com/adfm/config">
<defaults useBindVarsForViewCriteriaLiterals="true"/>
<startup>
<amconfig-overrides>
<config:Database jbo.locking.mode="optimistic"/>
</amconfig-overrides>
</startup>
</adf-adfm-config>
<adf:adf-properties-child xmlns="http://xmlns.oracle.com/adf/config/properties">
<adf-property name="adfAppUID" value="TestDynamicEC-8827"/>
</adf:adf-properties-child>
<sec:adf-security-child xmlns="http://xmlns.oracle.com/adf/security/config">
<CredentialStoreContext credentialStoreClass="oracle.adf.share.security.providers.jps.CSFCredentialStore" credentialStoreLocation="../../src/META-INF/jps-config.xml"/>
</sec:adf-security-child>
<persistence-config>
<metadata-namespaces>
<namespace metadata-store-usage="mdsRepos" path="/sessiondef/"/>
<namespace path="/model/" metadata-store-usage="mdsRepos"/>
</metadata-namespaces>
<metadata-store-usages>
<metadata-store-usage default-cust-store="true" deploy-target="true" id="mdsRepos">
<metadata-store class-name="oracle.mds.persistence.stores.file.FileMetadataStore">
<property name="metadata-path" value="/tmp"/>
<!-- <metadata-store class-name="oracle.mds.persistence.stores.db.DBMetadataStore">
<property name="jndi-datasource" value="jdbc/TestDynamicEC"/>
<property name="repository-name" value="TestDynamicEC"/>
<property name="jdbc-userid" value="adfmay28"/>
<property name="jdbc-password" value="adfmay28"/>
<property name="jdbc-url" value="jdbc:oracle:thin:@localhost:1521:XE"/>-->
</metadata-store>
</metadata-store-usage>
</metadata-store-usages>
</persistence-config>
</adf-config>
//////////////////////////////////////////////////////////////////////////////////////////////////////////Hi Frank,
I m trying to save entity and view object xml by calling writeXMLContents() and saveXMLContents() so that these objects can be retrieved using the xmls later on.
These methods internally use MDS configuration in adf-config.xml, which is creating the issue.
Please share your thoughts on resolving this or if, there is any other way of creating dynamic entity/view objects for db tables created at runtime.
Nik -
Difference b/w DATA TYPE and DATA OBJECT & differences b/w TYPE and LIKE
hai
can any one say the differences between Data type and Data Object.
And also differences between TYPE and LIKE
thanks
Ganihi,
_Data Types and Data Objects_
Programs work with local program data that is, with byte sequences in the working memory. Byte sequences that belong together are called fields and are characterized by a length, an identity (name), and as a further attribute by a data type. All programming languages have a concept that describes how the contents of a field are interpreted according to the data type.
In the ABAP type concept, fields are called data objects. Each data object is thus an instance of an abstract data type. There are separate name spaces for data objects and data types. This means that a name can be the name of a data object as well as the name of a data type simultaneously.
Data Types
As well as occurring as attributes of a data object, data types can also be defined independently. You can then use them later on in conjunction with a data object. The definition of a user-defined data type is based on a set of predefined elementary data types. You can define data types either locally in the declaration part of a program using the TYPESstatement) or globally in the ABAP Dictionary. You can use your own data types to declare data objects or to check the types of parameters in generic operations.
All programming languages distinguish between various types of data with various uses, such as .. type data for storing or displaying values and numerical data for calculations. The attributes in question are described using data types. You can define, for example, how data is stored in the repository, and how the ABAP statements work with the data.
Data types can be divided into elementary, reference, and complex types.
a. Elementary Types
These are data types of fixed or variable length that are not made up of other types.
The difference between variable length data types and fixed length data types is that the length and the memory space required by data objects of variable length data types can change dynamically during runtime, and that these data types cannot be defined irreversibly while the data object is being declared.
Predefined and User-Defined Elementary Data Types
You can also define your own elementary data types in ABAP using the TYPES statement. You base these on the predefined data types. This determines all of the technical attributes of the new data type. For example, you could define a data type P_2 with two decimal places, based on the predefined data type P. You could then use this new type in your data declarations.
b. Reference Types
Reference types are deep data types that describe reference variables, that is, data objects that contain references. A reference variable can be defined as a component of a complex data object such as a structure or internal table as well as a single field.
c. Complex Data Types
Complex data types are made up of other data types. A distinction is made here between structured types and table types.
Data Objects
Data objects are the physical units with which ABAP statements work at runtime. The contents of a data object occupy memory space in the program. ABAP statements access these contents by addressing the name of the data object and interpret them according to the data type.. For example, statements can write the contents of data objects in lists or in the database, they can pass them to and receive them from routines, they can change them by assigning new values, and they can compare them in logical expressions.
Each ABAP data object has a set of technical attributes, which are fully defined at all times when an ABAP program is running (field length, number of decimal places, and data type). You declare data objects either statically in the declaration part of an ABAP program (the most important statement for this is DATA), or dynamically at runtime (for example, when you call procedures). As well as fields in the memory area of the program, the program also treats literals like data objects.
A data object is a part of the repository whose content can be addressed and interpreted by the program. All data objects must be declared in the ABAP program and are not persistent, meaning that they only exist while the program is being executed. Before you can process persistent data (such as data from a database table or from a sequential file), you must read it into data objects first. Conversely, if you want to retain the contents of a data object beyond the end of the program, you must save it in a persistent form.
Declaring Data Objects
Apart from the interface parameters of procedures, you declare all of the data objects in an ABAP program or procedure in its declaration part. These declarative statements establish the data type of the object, along with any missing technical attributes. This takes place before the program is actually executed. The technical attributes can then be queried while the program is running.
The interface parameters of procedures are generated as local data objects, but only when the procedure is actually called. You can define the technical attributes of the interface parameters in the procedure itself. If you do not, they adopt the attributes of the parameters from which they receive their values.
ABAP contains the following kinds of data objects:
a. Literals
Literals are not created by declarative statements. Instead, they exist in the program source code. Like all data objects, they have fixed technical attributes (field length, number of decimal places, data type), but no name. They are therefore referred to as unnamed data objects.
b. Named Data Objects
Data objects that have a name that you can use to address the ABAP program are known as named objects. These can be objects of various types, including text symbols, variables and constants.
Text symbols are pointers to texts in the text pool of the ABAP program. When the program starts, the corresponding data objects are generated from the texts stored in the text pool. They can be addressed using the name of the text symbol.
Variables are data objects whose contents can be changed using ABAP statements. You declare variables using the DATA, CLASS-DATA, STATICS, PARAMETERS, SELECT-OPTIONS, and RANGESstatements.
Constants are data objects whose contents cannot be changed. You declare constants using the CONSTANTSstatement.
c. Anonymous Data Objects
Data objects that cannot be addressed using a name are known as anonymous data objects. They are created using the CREATE DATAstatement and can be addressed using reference variables.
d. System-Defined Data Objects
System-defined data objects do not have to be declared explicitly - they are always available at runtime.
e. Interface Work Areas
Interface work areas are special variables that serve as interfaces between programs, screens, and logical databases. You declare interface work areas using the TABLES and NODESstatements.
What is the difference between Type and Like?
Answer1:
TYPE, you assign datatype directly to the data object while declaring.
LIKE,you assign the datatype of another object to the declaring data object. The datatype is referenced indirectly.
Answer2:
Type is a keyword used to refer to a data type whereas Like is a keyword used to copy the existing properties of already existing data object.
Answer3:
type refers the existing data type
like refers the existing data object
reward if useful
thanks and regards
suma sailaja pvn -
A question about concurrency and static getter methods
Hello
I have a class with some static methods. they just return a reference and doesnt apply any changes.
something like this:
public class FieldMapper {
private static Map<Class,Map<String,String>> fieldMap = new HashMap<Class,Map<String,String>>();
public static getFields(Class clazz){
return fieldMap.get(clazz);
}my question is, let's consider many users connect to my server and each has its own session, now assume one user want to use FieldMapper.getFields(User.class) and another is going to call FieldMapper.getFields(Employee.class) at same time or a bit milli seconds after, and this method is not synchronized, is there any conflict in calling the method? would this method return wrong reference to the first invocation?
in genereal, may the concurrency make problem on reading resources? or just on changing resources?
Thank you very much in advance.To publish an object safely, both the reference to the object and the object's state must be made visible to other threads at the same time. A properly constructed object can be safely published by:
Initializing an object reference from a static initializer;
Storing a reference to it into a volatile field or AtomicReference;
Storing a reference to it into a final field of a properly constructed object; or
Storing a reference to it into a field that is properly guarded by a lock. The internal synchronization in thread-safe collections means that placing an object in a thread-safe collection, such as a Vector or synchronizedList, fulfills the last of these requirements. If thread A places object X in a thread-safe collection and thread B subsequently retrieves it, B is guaranteed to see the state of X as A left it, even though the application code that hands X off in this manner has no explicit synchronization.
Now in the case you have specified you are using HashMap. Which is not designed to be threadsafe as opposed to HashTable or concurrentHashMap. In such a case I would advise against using this. The concurrency problem is caused by race conditions on mutable objects, whether it is reading or writing. If it is mutable, it is susceptible to race conditions. IMHO
♠ -
Dynamic PAT and Static NAT issue ASA 5515
Hi All,
Recently we migrated our network to ASA 5515, since we had configured nat pool overload on our existing router the users are able to translated their ip's outside. Right now my issue was when I use the existing NAT configured to our router into firewall, it seems that the translation was not successful actually I used Dynamic NAT. When I use the Dynamic PAT(Hide) all users are able to translated to the said public IP's. I know that PAT is Port address translation but when I use static nat for specific server. The Static NAT was not able to translated. Can anyone explain if there's any conflict whit PAT to Static NAT? I appriciate their response. Thanks!
- BhalHi,
I would have to guess that you Dynamic PAT was perhaps configured as a Section 1 rule and Static NAT configured as Section 2 rule which would mean that the Dynamic PAT rule would always override the Static NAT for the said host.
The very basic configured for Static NAT and Default PAT I would do in the following way
object network STATIC
host
nat (inside,outside) static dns
object-group network DEFAULT-PAT-SOURCE
network-object
nat (inside,outside) after-auto source dynamic DEFAULT-PAT-SOURCE interface
The Static NAT would be configured as Network Object NAT (Section 2) and the Default PAT would be configured with Twice NAT / Manual NAT (after-auto specifies it as Section 3 rule)
This might sound confusing. Though it would be easier to say what the problem is if we saw the actual NAT configuration. Though I gave the reason that I think is probably one of the most likely reasons if there is some conflict with the 2 NAT rules
You can also check out a NAT document I made regarding the new NAT configuration format and its operation.
https://supportforums.cisco.com/docs/DOC-31116
Hope this helps
- Jouni -
Here I want to post some solutions to immutable and mutable objects. First I'll brifely discribe the case when only one type (immutable or mutable) is need accross the application. Then, I'll describe case when both types is using. And finally, the case when only some object can modify this object, while for others it is immutable one. That will be illusrated on the objects discribing current date as number milliseconds from Zero Epoch Era (January 1, 1970).
Let's start from an exampe for Immutable Object.
public final class ImmutableDate {
private final long date;
public ImmutableDate(long date){
this.date= date;
public long getDate(){
return date;
}The class is final, so it is imposible to extend it (if it is possible to extend it, it will be possible to add some mutable data-members to the class. Data-member is final to avoid changing (if it is Object it is just warning to programmer not to change it, compiler just can check that reference wasn't changed, but state of this data-member can be changed). There is no method that returns reference to the data-member outside the ImmutableDate. (if data-member was immutable object,it would be possible to return refference to it, if data-member was mutable object and it was possible to revieve reference to it, than it was possible to change the state of data-member through setter function).
Now, lets consider that we need only MutableDate. The implementation is obvious:
public class MutableDate {
private long date;
public MutableDate (long date){
this.date= date;
public long getDate(){
return date;
public void setDate(long date){
this.date=date;
}This is regular class.
The question is how what should I do in the case I need both[b ]Mutable and Immutable Object. It is possible to use the above way of implementation. But there are following problems wih this:
* Code is not re-usable. For example, getDate() is implemented twice.
* Implementation is closed to the interface.
* There is no abstraction such a Date. Usable, when we doen't care whether object is mutable or immutable.
It will be also nice to have a mechanism to recieve immutable copy from any object. It can be implemnted as getImmutableDate() function. This function is usable, when we have Date object (or MutableDate) at hand and want to store it in HashMap. So immutable copy is needed. It also usable as deffencive copy of MutableDate, if want one to transfer Date to simebody we don't want to change the state.
Second and third points leads us to declare interfaces:
public interface Date {
public long getDate();
public ImmutableDate getImmutableDate();
public interface ImmutableDate extends Date {
public interface MutableDate extends Date {
public void setDate(long date);
public final class ImmutableDateImpl implements Date, ImmutableDate {
public class MutableDateImpl implements Date, MutableDate {
}Lets talk more on the first point. In this short example it will look like it is not bug disadvantage. But think, that there are ten data members and setting other value isnot trivvial (for example, other private data members should be recalculated) and you'll realise that this is a problem. What solution OO proposed in such a cases? Right, inheritance. But there is one pitfalls here. Immutable object has to be final (see explanation above). So the only way to do this is to define some new class and inherit from him. It will be look like the following:
abstract class AbstractDate implements Date {
protected long date;
public AbstractDate(long date){
this.date=date;
public long getDate(){
return date;
public final class ImmutableDateImpl extends AbstractDate implements Date, ImmutableDate {
public ImmutableDateImpl(long date){
super(date);
public final ImmutableDate getImmutableDate(){return this;}
public class MutableDateImpl extends AbstractDate implements Date, MutableDate {
public MutableDateImpl(long date){
super(date);
public void setDate(long date){
this.date=date;
public final ImmutableDate getImmutableDate(){
return return new ImmutableDateImpl(date);
}Note that AbstractDate is declare package-private. It is doing to avoid casting this type in the application. Note also that it is possible to cast immutable object to mutable (interface MutableDate doen't extends ImmutableDate, but Date). Note also that data memer is
protected long date;That is not private, but protected and not final. It is a cost of getting re-usability. IMHO, It is not big price. Being protected is not a problem, IMHO. Final is more for programmer, rahter than to compiler (see explanation above). Only in the case of primitive data type compiler will inforce this. programmer can know, that in he shouldn't changed this value in AbstractDate, and ImmutableDate, and he can do it only in MutableDate.
I want to write some words about getImmutableDate() function. This function is usable, when we have Date object (or MutableDate) at hand and want to store it in HashMap. So immutable copy is needed. It also usable as deffencive copy of MutableDate, if want one to transfer Date to somebody we don't want to change the state.
Let consider the following scenarion. We are writting a game, say chess. There are two players, that plays, desk where they play, and environmemnt (arbiter) that enforces rules. One of the players is computer. From OO point of view the implementation has to the following. There is Desk that only Environment can modify it. ComputerPlayer has to be able only to view ("read") the Desk, but not to move figute ("write"). ComputerPlayer has to talk with Environment what he want to do, and Environmnet after confirmation should do it. Here desk is immutable object to everyone, but Environment.
If we go back to our Date, the implementation of this scenario could be
interface AlmostImmutableDate extends Date {
public void setDate(long date);
public class Class1 {
public static ImmutableDate getImmutableDate(long date){return new AlmostImmutableDateImpl(date);}
private static class AlmostImmutableDateImpl implements Date, ImmutableDate/*, AlmostImmutableDate*/ {
private long date;
public AlmostImmutableDate(long date){
this.date=date;
public long getDate(){
return date;
public void setDate(long date){
this.date=date;
public final ImmutableDate getImmutableDate(){
return this;
} Which such implementation only Class1 can modify AlmostImmutableDateImpl. Others even don't know about existance of this type (it is private static class).
It is possible to extends somehow to the case, when not one object, but (a little) group of object can modify Date. See the code above with uncommented part. One way to this is to difine new interface, say AlmostImmutableDate, with package-private scope. AlmostImmutableDateImpl will implements this interface. So, all object that has the same package as AlmostImmutableDate will can to cast the object to this type and modify it.
Note, that AlmostImmutableDate has to extend Date interface (or ImmutableDate), but not MutableDate! If it will extand MutableDate, than it wiil be possible to cast to MutableDate in any package.
If there is no MutableDate object in the application, so AlmostImmutableDate is unique. If there is MutableDate object in the application and we want to construct such almost immutable object, so copy&paste is needed to declare AlmostImmutableDate interface.
Summary.
It is difficult to define really pair of immutable object and mutable object in Java. Implementation consuming time and not very clear. There are many points to remember about (for example, data-member is not final, or order of inheritance, immutable object has to be final, and so on).
I want to ask. If these solutions are complete? That is, it is not possible to modify immutable object or almost immutable objects not in the package of AlmostImmutableInterface. Not using reflexion, of course.
Is these solutions are not to complicated?
What do you think about delcaration of the third class AbstractDate? Has it to implement date? Perhaps, it is possible to define Date as abstract class (as AbstractDate was)? What do you think about definning
protected long date;in AbstractDate?
What do you think about function getImmutableDate() defined in Date interface? Perhaps, it should be declared in other place (even other new interface) or shouldn't be delcare at all?It seems to me that you are over thinking the problem:
Why not just:
public interface Date {
long getDate();
public interface MutableDate extends Date {
void setDate(long);
public class ImmutableDate implements Date
final long date;
public ImmutableDate(long date){
this.date= date;
public ImmutableDate(Date date){
this.date= date.getDate();
public long getDate(){
return date;
public class ModifiableDate implements MutableDate
final long date;
public ModifiableDate(long date){
this.date= date;
public ModifiableDate(Date date){
this.date = date.getDate();
public long getDate(){
return date;
public void setDate(long date){
this.date = date;
} -
Abstract classes and static methods
I have an abstract report class AbstractReportClass which I am extending in multiple report classes (one for each report, say ReportA, ReportB, ...). Each report class has its own static column definitions, title, etc., which I have to access through a static method getDataMeta() in a web application. Each report has the same exact code in getDataMeta, and no report may exist without these fields. My intuition tells me that AbstractReportClass should contain the code for getDataMeta, but I know that you can't mix abstract and static keywords.
Am I missing a simple solution to unify the getDataMeta code in the abstract base class? or do I really need to have a static function getDataMeta with the same code in each of the base classes?
My apologies if this has been discussed many times before.
Thanks,
-AndrewI'm not trying to be "right"; rather I just asked a question about whether I can do something that seems intuitive. Perhaps you might write code in a different way than I would or perhaps I wasn't clear about every little detail about my code? Do you regularly belittle people who ask questions here?
I have a loadFromDB() member function in AbstractReport for which all sub classes have an overloaded version. All reports I'm displaying have 4 common fields (a database id and a name and a monetary value, for example), but then each other report has additional fields it loads from the database. Inside ReportX classes' loadFromDB(), I call the superclass loadFromDB() function and augment values to get a completely loaded object. In fact, the loadedData member object resides in AbstractReport.
I can't use a report unless it has these common features. Every report is an AbstractReport. There is common functionality built on top of common objects. Isn't this the point of inheritance? I'm essentially saying that abstract class Shape has a getArea function and then I'm defining multiple types of Shapes (e.g. Rectangle and Circle) to work with... -
Can Any one give me Clear definition of Data type and Data objects.
Concept i know clearly.. but unable to explain it..
Regards,
PrasannaData consists of strings of bytes in the memory area of the program. A string of related bytes is called a field. Each field has an identity (a name) and a data type. All programming languages have a concept that describes how the contents of a field are interpreted according to the data type.
In the ABAP type concept, fields are called data objects. Each data object is an instance of an abstract data type. Data types in ABAP are not just attributes of fields, but can be defined in their own right. There are separate name spaces for data objects and data types. This means that a name can at the same time be the name of a data object as well as the name of a data type.
<b>Data Types:</b>
As well as occurring as attributes of a data object, data types can also be defined independently. The definition of a user-defined data type is based on a set of predefined elementary data types. You can define data types either locally in the declaration part of a program (using the TYPES statement) or globally in the ABAP Dictionary. You can use your own data types to declare data objects or to check the types of parameters in generic operations.
Data types can be divided into elementary, reference, and complex types
<b>Data objects:</b>
Data objects are the physical units with which ABAP statements work at runtime. Each ABAP data object has a set of technical attributes, which are fully defined at all times when an ABAP program is running. The technical attributes of a data object are its length, number of decimal places, and data type. ABAP statements work with the contents of data objects and interpret them according to their data type. You declare data objects either statically in the declaration part of an ABAP program (the most important statement for this is DATA), or dynamically at runtime (for example, when you call procedures). As well as fields in the memory area of the program, the program also treats literals like data objects.
ABAP contains the following kinds of data objects
Literals
Named Data Objects
Predefined Data Objects
Dynamic Data Objects -
Hi Friends,
What is the difference between Data type and Data object?
Best Regards,
VRV Singhhi
good
Each ABAP program define its own data types using the statement.
TYPES dtype TYPE type ...
and declare its own variables or instance attributes of classes using the statement
DATA var {TYPE type} ...
Within the program or a class, you can also define local data types and variables within procedures. Local variables in procedures obscure identically-named variables in the main program or class.
When creating data types and data objects, there are a number of naming convention that also apply for other local program definitions, such as procedures. These are described in detail in the keyword documentation.
The Additions TYPE and LIKE
The additions TYPE type and LIKE dobj are used in various ABAP statements. The additions can have various meanings, depending on the syntax and context.
· Definition of local types in a program
· Declaration of data objects
· Dynamic creation of data objects
· Specification of the type of formal parameters in subroutines
· Specification of the type of formal parameters in methods
· Specification of the type of field symbols
Constructing New Data Types
The TYPE addition allows you to construct new data types in the TYPES, DATA; CONSTANTS; and STATICSstatements. In the TYPES statement, these are local data types in the program. In the other statements, they are attributes of new data objects, meaning that the newly defined data types are not free-standing. Rather, they are linked to database objects.This means that you can refer to them using the LIKEaddition, but not using TYPE.
To construct new data types, the addition TYPE can be used with the following type constructors:
· Construction of reference types
REF TO type|dobj
· Construction of structured data types
BEGIN OF struc_type.
END OF struc_type.
· Construction of table types
tabkind OF linetype
These data types only exist during the runtime of the ABAP program.
Referring to Known Data Types or Data Objects
Using the additions TYPE or LIKE in the TYPESstatement, local data types in a program can be referred to known data types or data objects. This is mainly the case with user-defined elementary data types. If you declare variables using the additions TYPE type or LIKE dobj with statement DATA, the data type of var is already fully defined before the declaration is made.
The known types or data that are referred to must be visible at the point where the data type or variable is declared.
A known data type can be any of the following:
· A predefined ABAP type to which you refer using the TYPE addition
· An existing local data type in the program to which you refer using the TYPE addition
· The data type of a local data object in the program to which you refer using the LIKE addition
· A data type in the ABAP Dictionary to which you refer using the TYPE addition. To ensure compatibility with earlier releases, it is still possible to use the LIKE addition to refer to database tables and flat structures in the ABAP Dictionary. However, you should use the TYPE addition in new programs.
The LIKE addition takes its technical attributes from a visible data object. As a rule, you can use LIKE to refer to any object that has been declared using DATA or a similar statement, and is visible in the current context. The data object only has to have been declared. It is irrelevant whether the data object already exists in memory when you make the LIKE reference.
· In principle, the local data objects in the same program are visible. As with local data types, there is a difference between local data objects in procedures and global data objects. Data objects defined in a procedure obscure other objects with the same name that are declared in the global declarations of the program.
· You can also refer to the data objects of other visible ABAP programs. These might be, for example, the visible attributes of global classes in class pools. If a global class cl_lobal has a public instance attribute or static attribute attr, you can refer to it as follows in any ABAP program:
DATA dref TYPE REF TO cl_global.
DATA: f1 LIKE cl_global=>attr,
f2 LIKE dref->attr.
You can access the technical properties of an instance attribute using the class name and a reference variable without first having to create an object. The properties of the attributes of a class are not instance-specific and belong to the static properties of the class.
http://help.sap.com/saphelp_nw2004s/helpdata/en/fc/eb2ff3358411d1829f0000e829fbfe/content.htm
thanks
mrutyun^ -
diff b/w data types and data objects
hi prasanth,
Data Types and Data Objects
Programs work with local program data that is, with byte sequences in the working memory. Byte sequences that belong together are called fields and are characterized by a length, an identity (name), and as a further attribute by a data type. All programming languages have a concept that describes how the contents of a field are interpreted according to the data type.
In the ABAP type concept, fields are called data objects. Each data object is thus an instance of an abstract data type. There are separate name spaces for data objects and data types. This means that a name can be the name of a data object as well as the name of a data type simultaneously.
Data Types
Data types are templates for creating data objects. Data types can be defined independently in the ABAP program or in the ABAP Dictionary. As attributes of a data object, data types can also exist in a non-independent state. Data types do not use any memory space for work data, but may require memory for administration information.
As well as occurring as attributes of a data object, data types can also be defined independently. You can then use them later on in conjunction with a data object. The definition of a user-defined data type is based on a set of predefined elementary data types. You can define data types either locally in the declaration part of a program using the TYPESstatement) or globally in the ABAP Dictionary. You can use your own data types to declare data objects or to check the types of parameters in generic operations.
All programming languages distinguish between various types of data with various uses, such as .. type data for storing or displaying values and numerical data for calculations. The attributes in question are described using data types. You can define, for example, how data is stored in the repository, and how the ABAP statements work with the data.
Data types can be divided into elementary, reference, and complex types.
a. Elementary Types
These are data types of fixed or variable length that are not made up of other types.
The difference between variable length data types and fixed length data types is that the length and the memory space required by data objects of variable length data types can change dynamically during runtime, and that these data types cannot be defined irreversibly while the data object is being declared.
Predefined and User-Defined Elementary Data Types
You can also define your own elementary data types in ABAP using the TYPES statement. You base these on the predefined data types. This determines all of the technical attributes of the new data type. For example, you could define a data type P_2 with two decimal places, based on the predefined data type P. You could then use this new type in your data declarations.
b. Reference Types
Reference types are deep data types that describe reference variables, that is, data objects that contain references. A reference variable can be defined as a component of a complex data object such as a structure or internal table as well as a single field.
c. Complex Data Types
Complex data types are made up of other data types. A distinction is made here between structured types and table types.
Data Objects
A data object is an instance of a data type and occupies as much memory space as its type specifies. An ABAP program only works with data that is available as content of data objects. Data objects are either created implicitly as named data objects, or exanonymous data objects using CREATEDATA.
Data objects are the physical units with which ABAP statements work at runtime. The contents of a data object occupy memory space in the program. ABAP statements access these contents by addressing the name of the data object and interpret them according to the data type.. For example, statements can write the contents of data objects in lists or in the database, they can pass them to and receive them from routines, they can change them by assigning new values, and they can compare them in logical expressions.
Each ABAP data object has a set of technical attributes, which are fully defined at all times when an ABAP program is running (field length, number of decimal places, and data type). You declare data objects either statically in the declaration part of an ABAP program (the most important statement for this is DATA), or dynamically at runtime (for example, when you call procedures). As well as fields in the memory area of the program, the program also treats literals like data objects.
A data object is a part of the repository whose content can be addressed and interpreted by the program. All data objects must be declared in the ABAP program and are not persistent, meaning that they only exist while the program is being executed. Before you can process persistent data (such as data from a database table or from a sequential file), you must read it into data objects first. Conversely, if you want to retain the contents of a data object beyond the end of the program, you must save it in a persistent form.
Declaring Data Objects
Apart from the interface parameters of procedures, you declare all of the data objects in an ABAP program or procedure in its declaration part. These declarative statements establish the data type of the object, along with any missing technical attributes. This takes place before the program is actually executed. The technical attributes can then be queried while the program is running.
The interface parameters of procedures are generated as local data objects, but only when the procedure is actually called. You can define the technical attributes of the interface parameters in the procedure itself. If you do not, they adopt the attributes of the parameters from which they receive their values.
ABAP contains the following kinds of data objects:
a. Literals
Literals are not created by declarative statements. Instead, they exist in the program source code. Like all data objects, they have fixed technical attributes (field length, number of decimal places, data type), but no name. They are therefore referred to as unnamed data objects.
b. Named Data Objects
Data objects that have a name that you can use to address the ABAP program are known as named objects. These can be objects of various types, including text symbols, variables and constants.
Text symbols are pointers to texts in the text pool of the ABAP program. When the program starts, the corresponding data objects are generated from the texts stored in the text pool. They can be addressed using the name of the text symbol.
Variables are data objects whose contents can be changed using ABAP statements. You declare variables using the DATA, CLASS-DATA, STATICS, PARAMETERS, SELECT-OPTIONS, and RANGESstatements.
Constants are data objects whose contents cannot be changed. You declare constants using the CONSTANTSstatement.
c. Anonymous Data Objects
Data objects that cannot be addressed using a name are known as anonymous data objects. They are created using the CREATE DATAstatement and can be addressed using reference variables.
d. System-Defined Data Objects
System-defined data objects do not have to be declared explicitly - they are always available at runtime.
e. Interface Work Areas
Interface work areas are special variables that serve as interfaces between programs, screens, and logical databases. You declare interface work areas using the TABLES and NODESstatements.
regards,
sravanthi -
Client-Side Caching of Static Objects
Hi,
We just installed SPS12 for NWs. I learned of this new client-side caching of static objects while reading through the release notes, and I went in to our portal to check it out. I went to the location where the <a href="http://help.sap.com/saphelp_nw04s/helpdata/en/45/7c6336b6e5694ee10000000a155369/content.htm">release notes</a> (and an <a href="https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/6622">article in the blog</a>) specified, System Administration > System Configuration > Knowledge Management > Content Management > Global Services.
Problem is that I do not see Client Cache Service and Client Cache Patterns. I enabled "Show Advanced Options," but I do not see those two configuration items.
Does anyone know why I am not seeing those two configuration items and how I can get to those?
Thank you.Hi,
We are using SPS 12.
KMC-CM 7.00 SP12 (1000.7.00.12.0.20070509052145)
KMC-BC 7.00 SP12 (1000.7.00.12.0.20070509052008)
CAF-KM 7.00 SP12 (1000.7.00.12.0.20070510091043)
KMC-COLL 7.00 SP12 (1000.7.00.12.0.20070509052223)
KM-KW_JIKS 7.00 SP12 (1000.7.00.12.0.20070507080500)
Maybe you are looking for
-
T4CConnection Error while creating datasource in SOA 11g
Hi All, i getting the below error while creating the data source with an oracle database in oracle SOA 11g. I trying to create the datasource in the weblogic console page. The error is specifically coming while testing the database connection. Howeve
-
MAIN_SHDRUN/ACT_UPG ends during upgrade
During upgrade from CRM 6.0 to 7.0 EHP1 MAIN_SHDRUN/ACT_UPG phase ends. In ACTUPG.ELG file I see: ******* LIST OF ERRORS AND RETURN CODES ******* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DDIC ACTIVATION ERRORS and R
-
Zip.ZipInputStream cannot extract files with Chinese chars in name
Dear friends, Peace b upon u! I am trying to read a zip file (~3000 files)containing one or more files with Chinese, Japanese or Korean names, the getNextEntry method throws an IllegalArgumentException as below after extracting just ~300 files as bel
-
Has anyone got DiskWarrior 4.2 - 4.3 to work w/ Snow Leopard?
My iMac is totally up to date and I've tried both DW 4.2 and 4.3 on it and it will NOT let me boot up from that DW disk. It's always the ownsership issue. I tried their tech 'help' person with no luck. He just tells me to not use a wireless keyboard
-
im unable to open pdf in browser and cannot located setting in adobe xi settings or in browser settings.....enhanced protected mode is disabled and plug-in is enabled....help....?